Presto ইনস্টলেশন প্রক্রিয়া কিছুটা জটিল হতে পারে, তবে একবার ইনস্টল হয়ে গেলে এটি বড় ডেটাসেট প্রসেসিং এবং বিশ্লেষণের জন্য অত্যন্ত কার্যকরী। নিচে Presto ইনস্টলেশন এবং কনফিগারেশনের ধাপগুলি দেওয়া হলো।
১. Presto ইনস্টলেশন প্রস্তুতি
প্রাথমিক শর্তাবলী:
- Java 8 বা তার পরবর্তী সংস্করণ ইনস্টল থাকতে হবে।
- এক্সেস প্রয়োজন: Administrator বা Root একাউন্ট।
- Presto কে ডিস্ট্রিবিউটেড আর্কিটেকচারে চালাতে হলে একাধিক নোডের প্রয়োজন হতে পারে।
২. Presto ইনস্টলেশন (Linux)
ধাপ ১: Java ইনস্টল করা
Presto চালানোর জন্য Java 8 বা তার পরবর্তী সংস্করণ ইনস্টল করা আবশ্যক। আপনি নিচের কমান্ড ব্যবহার করে Java ইনস্টল করতে পারেন:
sudo apt update
sudo apt install openjdk-8-jdk
java -version
ধাপ ২: Presto ডাউনলোড করা
Presto-এর সর্বশেষ ভার্সন ডাউনলোড করতে নিচের কমান্ড ব্যবহার করুন:
wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/350/presto-server-350.tar.gz
tar -xvzf presto-server-350.tar.gz
mv presto-server-350 /opt/presto
ধাপ ৩: Presto কনফিগারেশন ফাইল তৈরি করা
Presto চালাতে দুটি কনফিগারেশন ফাইল তৈরি করতে হবে:
- config.properties: Presto সার্ভারের সাধারণ কনফিগারেশন।
- node.properties: নোডের নির্দিষ্ট কনফিগারেশন।
এই ফাইল দুটি /etc/presto/ ফোল্ডারে তৈরি করুন:
mkdir /etc/presto
touch /etc/presto/config.properties /etc/presto/node.properties
এখানে কিছু সাধারণ কনফিগারেশন:
config.properties:
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=5GB
query.max-memory-per-node=1GB
node.properties:
node.id=worker-1
http-server.http.port=8081
ধাপ ৪: Presto সার্ভিস শুরু করা
Presto ইনস্টল হয়ে গেলে, সার্ভিস চালাতে নিচের কমান্ড ব্যবহার করুন:
cd /opt/presto
bin/launcher start
৩. Presto ইনস্টলেশন (Windows)
Windows এ Presto ইনস্টল করার জন্য WSL (Windows Subsystem for Linux) ব্যবহার করা ভালো। WSL ইনস্টল হলে Linux-এর মতোই Presto ইনস্টল এবং কনফিগার করা যাবে।
WSL ইনস্টল করা:
- Windows PowerShell (Admin) ওপেন করুন এবং নিম্নলিখিত কমান্ডটি রান করুন:
wsl --install- Ubuntu (Linux) ইনস্টল করুন।
- Presto ইনস্টল করা:
- WSL ওপেন করে Linux ইনস্টলেশন অনুসরণ করুন এবং উপরের Linux ইনস্টলেশন ধাপগুলো অনুসরণ করুন।
৪. Presto ইনস্টলেশন (MacOS)
MacOS এ Presto ইনস্টল করা বেশ সহজ। Homebrew ব্যবহার করে Presto ইনস্টল করা যায়:
ধাপ ১: Homebrew ইনস্টল করা
Homebrew যদি আপনার সিস্টেমে ইনস্টল না থাকে তবে এটি ইনস্টল করুন:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
ধাপ ২: Presto ইনস্টল করা
Homebrew দিয়ে Presto ইনস্টল করতে:
brew install presto
ধাপ ৩: Presto কনফিগারেশন
MacOS-এও Linux এর মতোই কনফিগারেশন ফাইলগুলি /usr/local/etc/presto/ ফোল্ডারে রাখতে হবে। কনফিগারেশন ফাইল তৈরি এবং সেগুলির মান সামঞ্জস্য করুন।
৫. Presto Cluster সেটআপ
Presto ক্লাস্টার সেটআপের জন্য কমপক্ষে একটি Coordinator নোড এবং এক বা একাধিক Worker নোড প্রয়োজন। Coordinator নোড কোয়েরি পরিচালনা এবং Worker নোড গুলি ডেটা প্রক্রিয়া করবে।
ধাপ ১: Coordinator সেটআপ
- coordinator=true এই সেটিং Coordinator নোডে থাকতে হবে।
ধাপ ২: Worker নোড সেটআপ
- Worker নোডে
coordinator=falseএবংhttp-server.http.port=8081সেটিং যুক্ত করুন।
ধাপ ৩: Cluster যোগ করা
- Worker নোডকে Coordinator নোডের সাথে সংযুক্ত করতে, Coordinator নোডের IP ঠিকানা এবং পোর্ট ব্যবহার করে Worker নোড কনফিগার করুন।
৬. Presto ইনস্টলেশনের পরবর্তী পদক্ষেপ
- Presto সার্ভার চালানো
Presto চালু করার পর,http://<server-ip>:8080এ গিয়ে Presto Web UI ব্যবহার করতে পারবেন। - ডেটাবেস কানেকশন এবং কনফিগারেশন
ডেটা সোর্স সংযোগ যেমন Hive, MySQL, এবং PostgreSQL সংযোগ করতে হবে। Presto এ বিভিন্ন কানেক্টর কনফিগারেশন করা হয়etc/catalogডিরেক্টরিতে।
এই ধাপগুলির মাধ্যমে আপনি Presto সফলভাবে ইনস্টল এবং কনফিগার করতে পারবেন। Presto ক্লাস্টার পরিচালনা এবং কনফিগারেশন আরও উন্নত করার জন্য আপনি প্রতিটি Worker এবং Coordinator নোডের কার্যক্ষমতা পর্যবেক্ষণ করতে পারেন।
Presto একটি ডিস্ট্রিবিউটেড SQL কোয়েরি ইঞ্জিন, এবং এটি বিভিন্ন প্ল্যাটফর্মে ইনস্টল করা যেতে পারে। নিচে Linux, Windows, এবং MacOS এর জন্য ইনস্টলেশন প্রক্রিয়া বিস্তারিতভাবে ব্যাখ্যা করা হল।
Linux-এ Presto ইনস্টলেশন
ধাপ ১: Java ইনস্টল করা
Presto চালানোর জন্য Java 8 বা তার পরবর্তী সংস্করণ প্রয়োজন। Java ইনস্টল করতে, নিচের কমান্ডটি ব্যবহার করুন:
sudo apt update
sudo apt install openjdk-8-jdk
java -version
ধাপ ২: Presto ডাউনলোড করা
Presto ডাউনলোড করতে, প্রথমে Maven রিপোজিটরি থেকে ডাউনলোড করুন:
wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/350/presto-server-350.tar.gz
tar -xvzf presto-server-350.tar.gz
sudo mv presto-server-350 /opt/presto
ধাপ ৩: কনফিগারেশন ফাইল তৈরি করা
Presto চালানোর জন্য দুটি কনফিগারেশন ফাইল তৈরি করতে হবে:
config.propertiesnode.properties
এই ফাইল দুটি /etc/presto/ ফোল্ডারে তৈরি করুন:
sudo mkdir /etc/presto
sudo touch /etc/presto/config.properties /etc/presto/node.properties
config.properties:
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=5GB
query.max-memory-per-node=1GB
node.properties:
node.id=worker-1
http-server.http.port=8081
ধাপ ৪: Presto সার্ভার শুরু করা
এখন Presto সার্ভার শুরু করুন:
cd /opt/presto
bin/launcher start
Presto চলতে থাকলে, ওয়েব ইন্টারফেসটি http://<server-ip>:8080 এ দেখতে পারবেন।
Windows-এ Presto ইনস্টলেশন
Windows এ Presto ইনস্টল করার জন্য WSL (Windows Subsystem for Linux) ব্যবহার করা ভাল, কারণ Presto Linux ভিত্তিক এবং WSL এ আপনি Linux-এর মতো প্রক্রিয়া অনুসরণ করতে পারবেন।
ধাপ ১: WSL ইনস্টল করা
PowerShell (Admin) ওপেন করে নিচের কমান্ড রান করুন:
wsl --install
Ubuntu বা অন্য কোনো Linux ডিস্ট্রিবিউশন ইনস্টল করুন।
ধাপ ২: Linux ইনস্টলেশন এবং Presto ইনস্টল করা
Linux ডিস্ট্রিবিউশন ইন্সটল করার পর, Linux কনফিগারেশন অনুসরণ করুন (Linux ইনস্টলেশনের মতো) এবং উপরের Linux ইনস্টলেশন অংশ অনুযায়ী Presto ইনস্টল করুন।
MacOS-এ Presto ইনস্টলেশন
MacOS এ Presto ইনস্টল করার জন্য Homebrew ব্যবহার করা যেতে পারে, যা সহজ এবং দ্রুত।
ধাপ ১: Homebrew ইনস্টল করা
Homebrew যদি আপনার MacOS-এ ইনস্টল না থাকে, তবে এটি ইনস্টল করুন:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
ধাপ ২: Presto ইনস্টল করা
Homebrew দিয়ে Presto ইনস্টল করতে:
brew install presto
ধাপ ৩: কনফিগারেশন ফাইল তৈরি করা
MacOS-এও Linux এর মতোই কনফিগারেশন ফাইল তৈরি এবং কনফিগার করতে হবে। /usr/local/etc/presto/ ফোল্ডারে কনফিগারেশন ফাইল রাখুন।
config.properties:
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=5GB
query.max-memory-per-node=1GB
node.properties:
node.id=worker-1
http-server.http.port=8081
ধাপ ৪: Presto সার্ভার শুরু করা
Presto চালানোর জন্য:
cd /usr/local/opt/presto
bin/launcher start
উপসংহার
এইভাবে, আপনি Linux, Windows (WSL), এবং MacOS-এ Presto ইনস্টল এবং কনফিগার করতে পারবেন। প্রতিটি সিস্টেমের জন্য কনফিগারেশন ফাইল সামঞ্জস্য করার মাধ্যমে Presto সফলভাবে চালানো যাবে এবং ওয়েব ইন্টারফেসের মাধ্যমে আপনি কোয়েরি পরিচালনা করতে পারবেন।
Presto একটি ডিস্ট্রিবিউটেড SQL কোয়েরি ইঞ্জিন, এবং এটি একাধিক নোডের মাধ্যমে কাজ করে, যা একটি Presto ক্লাস্টার গঠন করে। ক্লাস্টারটি মূলত দুটি ধরনের নোড নিয়ে গঠিত: Coordinator নোড এবং Worker নোড। Coordinator নোড কোয়েরি পরিকল্পনা করে এবং Worker নোডগুলিতে কাজ বিতরণ করে, যা ডেটা প্রক্রিয়া করে।
Presto ক্লাস্টার সেটআপের জন্য নিম্নলিখিত ধাপগুলো অনুসরণ করতে হবে:
১. Coordinator নোড সেটআপ
Coordinator নোড হল Presto ক্লাস্টারের কেন্দ্রীয় উপাদান, যা কোয়েরি গ্রহণ এবং এক্সিকিউশন প্ল্যান তৈরি করে। এটি সবকিছুর নিয়ন্ত্রণ করে এবং কোয়েরি প্রক্রিয়াকরণের জন্য Worker নোডগুলিতে কাজ পাঠায়।
Coordinator কনফিগারেশন:
config.properties ফাইল:
- coordinator=true: এটি Coordinator নোডে রাখতে হবে।
- node-scheduler.include-coordinator=true: এটি Coordinator নোডে থাকা উচিত যাতে এটি নিজের কাজও করতে পারে।
- http-server.http.port=8080: HTTP সার্ভার পোর্ট নম্বর নির্ধারণ করুন (যেমন: 8080)।
- query.max-memory=5GB: কোয়েরি প্রক্রিয়াকরণের জন্য সর্বোচ্চ মেমরি সীমা নির্ধারণ করুন।
- query.max-memory-per-node=1GB: প্রতিটি নোডে ব্যবহৃত সর্বোচ্চ মেমরি নির্ধারণ করুন।
config.properties ফাইলের উদাহরণ:
coordinator=true node-scheduler.include-coordinator=true http-server.http.port=8080 query.max-memory=5GB query.max-memory-per-node=1GBnode.properties ফাইল:
- node.id: Node এর একটি ইউনিক আইডি দিন।
- http-server.http.port=8080: Coordinator নোডের পোর্ট নম্বর নির্ধারণ করুন।
node.properties ফাইলের উদাহরণ:
node.id=coordinator-1 http-server.http.port=8080
২. Worker নোড সেটআপ
Worker নোড গুলি কাজ প্রক্রিয়া করার জন্য দায়ী। এগুলি Coordinator নোডের নির্দেশনা অনুযায়ী কোয়েরি প্রক্রিয়া করে এবং ফলাফল ফেরত পাঠায়।
Worker কনফিগারেশন:
config.properties ফাইল:
- coordinator=false: Worker নোডে এটি সঠিক সেটিং।
- http-server.http.port=8081: Worker নোডের পোর্ট নম্বর নির্ধারণ করুন (যেমন: 8081)।
config.properties ফাইলের উদাহরণ:
coordinator=false http-server.http.port=8081node.properties ফাইল:
- node.id: Worker নোডের ইউনিক আইডি দিন (যেমন: worker-1)।
- http-server.http.port=8081: Worker নোডের পোর্ট নম্বর নির্ধারণ করুন।
node.properties ফাইলের উদাহরণ:
node.id=worker-1 http-server.http.port=8081
৩. Cluster যোগ করা এবং নোড সংযোগ করা
ক্লাস্টারে নতুন Worker নোড যোগ করার জন্য Coordinator নোডের সাথে Worker নোডের সংযোগ স্থাপন করতে হবে। Presto এর node.properties ফাইলে নীচের কনফিগারেশনগুলো করতে হবে।
Worker নোড কনফিগারেশন:
- Worker নোডে config.properties ফাইলের coordinator সেটিং false করে দিন।
Worker নোডের node.properties ফাইলে coordinator.uri সেটিং যোগ করুন, যাতে Worker নোডটি Coordinator নোডের সাথে সংযুক্ত হতে পারে:
coordinator.uri=http://<coordinator-ip>:8080
নোড চেক করা:
Worker নোড সফলভাবে Coordinator নোডের সাথে সংযুক্ত হয়েছে কিনা, তা যাচাই করতে Presto ওয়েব UI-তে গিয়ে দেখতে পারেন। সাধারণভাবে, আপনি http://<coordinator-ip>:8080 এ গিয়ে সমস্ত সংযুক্ত নোডের তথ্য দেখতে পারবেন।
৪. Cluster পরিচালনা এবং মনিটরিং
Cluster Management:
- Presto CLI ব্যবহার করে কোয়েরি চালানো, এবং Coordinator এবং Worker নোডগুলির স্বাস্থ্য পরীক্ষা করা যায়।
Cluster Expansion:
- Presto ক্লাস্টারে আরও Worker নোড যোগ করতে, নতুন Worker নোডের কনফিগারেশন সম্পন্ন করে ক্লাস্টারে সংযুক্ত করুন।
Monitor Cluster Health:
- Cluster এর স্বাস্থ্য মনিটর করতে Prometheus এবং Grafana ব্যবহার করা যায়।
৫. Presto Web UI
Presto Web UI-তে ক্লাস্টারের সমস্ত নোড, কোয়েরি, এবং কাজের অবস্থা মনিটর করা যায়। এটি http://<coordinator-ip>:8080 এ প্রবেশ করে অ্যাক্সেস করা যায়।
- Web UI: এখানে ক্লাস্টারের প্রতিটি Worker নোডের অবস্থা, কোয়েরি গুলি এবং অন্যান্য কার্যকলাপ দেখতে পারবেন।
সংক্ষেপে:
- Coordinator নোড কনফিগার করুন এবং
coordinator=trueসেটিং দিন। - Worker নোড কনফিগার করুন এবং
coordinator=falseসেটিং দিন। - Worker নোডগুলিকে Coordinator নোডের সাথে সংযুক্ত করুন
coordinator.uriসেটিং দিয়ে। - Presto Web UI ব্যবহার করে ক্লাস্টারের অবস্থা পর্যবেক্ষণ করুন।
- নতুন Worker নোড যোগ করুন এবং ক্লাস্টার স্কেল করুন।
এই ধাপগুলো অনুসরণ করে আপনি Presto ক্লাস্টার সফলভাবে সেটআপ করতে পারবেন।
Presto এর শক্তিশালী Connector সিস্টেমের মাধ্যমে এটি বিভিন্ন ডেটাবেস এবং ডেটা সোর্সের সাথে সংযুক্ত হতে সক্ষম। এখানে আমরা তিনটি জনপ্রিয় ডেটাবেস, Hive, MySQL, এবং PostgreSQL এর সাথে Presto সংযোগ করার প্রক্রিয়া বিস্তারিতভাবে দেখবো।
১. Hive এর সাথে Presto সংযোগ
Presto Hive এর সাথে সংযোগ স্থাপন করতে পারে এবং এটি Hadoop ডেটাসেটের উপর SQL কোয়েরি চালাতে সক্ষম।
ধাপ ১: Hive Connector কনফিগারেশন
Presto-তে Hive সংযোগ করতে হবে hive ক্যাটালগ তৈরি করে। এই ক্যাটালগ ফাইলটি /etc/presto/catalog/ ডিরেক্টরিতে রাখতে হবে।
ফাইল নাম: hive.properties
connector.name=hive
hive.metastore.uri=thrift://<hive-metastore-host>:9083
এখানে hive.metastore.uri এর মান হলো Hive মেটাস্টোরের URI। আপনি আপনার Hive মেটাস্টোরের ঠিকানা এখানে প্রদান করবেন।
ধাপ ২: Hive মেটাস্টোর কনফিগারেশন
Hive এর মেটাস্টোরের URI সঠিকভাবে কনফিগার করা থাকতে হবে যাতে Presto Hive ডেটাসেটগুলোতে অ্যাক্সেস করতে পারে। Hive মেটাস্টোর সার্ভিস চালু করতে নিচের কমান্ডটি ব্যবহার করুন:
hive --service metastore
ধাপ ৩: কোয়েরি চালানো
এখন আপনি Presto CLI ব্যবহার করে Hive ডেটাবেসে কোয়েরি চালাতে পারেন। উদাহরণস্বরূপ:
SELECT * FROM hive.<schema_name>.<table_name>;
২. MySQL এর সাথে Presto সংযোগ
Presto-তে MySQL ডেটাবেস সংযোগ করার জন্য MySQL Connector কনফিগার করতে হবে।
ধাপ ১: MySQL Connector কনফিগারেশন
Presto-তে MySQL সংযোগ করতে mysql ক্যাটালগ তৈরি করতে হবে এবং এটি /etc/presto/catalog/ ডিরেক্টরিতে রাখতে হবে।
ফাইল নাম: mysql.properties
connector.name=mysql
connection-url=jdbc:mysql://<mysql-host>:3306/<database-name>
connection-user=<username>
connection-password=<password>
এখানে:
connection-url: MySQL সার্ভারের URL।connection-user: MySQL ব্যবহারকারীর নাম।connection-password: MySQL ব্যবহারকারীর পাসওয়ার্ড।
ধাপ ২: MySQL কোয়েরি চালানো
MySQL সংযোগ সফল হলে, আপনি Presto CLI থেকে MySQL ডেটাবেসে কোয়েরি চালাতে পারবেন। উদাহরণস্বরূপ:
SELECT * FROM mysql.<database_name>.<table_name>;
৩. PostgreSQL এর সাথে Presto সংযোগ
PostgreSQL ডেটাবেসের সাথে Presto সংযোগ করতে PostgreSQL Connector কনফিগার করতে হবে।
ধাপ ১: PostgreSQL Connector কনফিগারেশন
Presto-তে PostgreSQL সংযোগ করতে postgresql ক্যাটালগ তৈরি করতে হবে এবং এটি /etc/presto/catalog/ ডিরেক্টরিতে রাখতে হবে।
ফাইল নাম: postgresql.properties
connector.name=postgresql
connection-url=jdbc:postgresql://<postgresql-host>:5432/<database-name>
connection-user=<username>
connection-password=<password>
এখানে:
connection-url: PostgreSQL সার্ভারের URL।connection-user: PostgreSQL ব্যবহারকারীর নাম।connection-password: PostgreSQL ব্যবহারকারীর পাসওয়ার্ড।
ধাপ ২: PostgreSQL কোয়েরি চালানো
PostgreSQL ডেটাবেস সংযোগ সফল হলে, আপনি Presto CLI থেকে PostgreSQL ডেটাবেসে কোয়েরি চালাতে পারবেন। উদাহরণস্বরূপ:
SELECT * FROM postgresql.<database_name>.<table_name>;
Presto তে বিভিন্ন ডেটাবেসের সাথে সংযোগের সুবিধা
- বিভিন্ন ডেটাবেস থেকে একসাথে ডেটা অনুসন্ধান:
Presto একই সময়ে MySQL, PostgreSQL, Hive, S3, এবং অন্যান্য ডেটাবেস থেকে ডেটা একত্রে প্রসেস করতে পারে, যা ডেটা ইন্টিগ্রেশন সহজ করে। - শক্তিশালী পারফরম্যান্স:
Presto SQL কোয়েরি দ্রুত এবং দক্ষতার সাথে একাধিক ডেটাসোর্সের উপর কার্যকরীভাবে চালাতে সক্ষম। - ইন-মেমরি প্রসেসিং:
Presto ইন-মেমরি প্রসেসিং ব্যবহার করে ডেটা অ্যাক্সেসের গতিকে বৃদ্ধি করে, যেটি রিয়েল-টাইম বিশ্লেষণের জন্য কার্যকরী।
এভাবেই আপনি Presto এর সাথে Hive, MySQL, এবং PostgreSQL ডেটাবেস সংযোগ করতে পারবেন এবং এই ডেটাবেস থেকে SQL কোয়েরি চালিয়ে ডেটা বিশ্লেষণ করতে পারবেন।
Presto এর কনফিগারেশন ফাইল দুটি গুরুত্বপূর্ণ ভূমিকা পালন করে:
- config.properties
- node.properties
এই কনফিগারেশন ফাইলগুলো Presto সার্ভারের কার্যকারিতা নির্ধারণ করে এবং বিভিন্ন সার্ভিসের মধ্যে পারফরম্যান্স, সিকিউরিটি এবং সংযোগের কনফিগারেশন সহজ করে তোলে।
১. config.properties
config.properties ফাইলটি Presto সার্ভারের মূল কনফিগারেশন ফাইল। এটি Presto-এর কো-অর্ডিনেটর এবং ওয়ার্কার নোডের কার্যকারিতা এবং পারফরম্যান্স নিয়ন্ত্রণ করে। সাধারণত, এই ফাইলটি /etc/presto/ বা Presto ইনস্টলেশনের ডিরেক্টরিতে থাকে।
config.properties-এ কিছু গুরুত্বপূর্ণ কনফিগারেশন:
coordinator
এটি নির্দেশ করে Presto সার্ভার কো-অর্ডিনেটর হিসেবে কাজ করবে কি না। কো-অর্ডিনেটর ডেটা প্রসেসিংয়ের জন্য কাজ বরাদ্দ করে এবং কোয়েরি এক্সিকিউশন প্ল্যান তৈরি করে।coordinator=truenode-scheduler.include-coordinator
এটি কো-অর্ডিনেটরকে ওয়ার্কার হিসেবে কাজ করতে সক্ষম করে তোলে। সাধারণত, কো-অর্ডিনেটর প্রধানভাবে কো-অর্ডিনেটিংয়ের কাজ করে, কিন্তু যদি এই সেটিংটিtrueথাকে, তবে এটি কিছু কাজও করতে পারে।node-scheduler.include-coordinator=truehttp-server.http.port
Presto সার্ভারের HTTP পোর্ট নম্বর নির্ধারণ করে। সাধারণত, এটি 8080 পোর্টে চলে।http-server.http.port=8080query.max-memory
একটি কোয়েরি কতটা মেমরি ব্যবহার করতে পারবে তার সর্বোচ্চ সীমা নির্ধারণ করে।query.max-memory=5GBquery.max-memory-per-node
প্রতিটি নোডে একটি কোয়েরি কতটা মেমরি ব্যবহার করতে পারবে তা নির্ধারণ করে।query.max-memory-per-node=1GBdiscovery.uri
এটি কো-অর্ডিনেটরের URI নির্ধারণ করে, যার মাধ্যমে Worker নোডগুলির সাথে যোগাযোগ করতে পারে।discovery.uri=http://<coordinator-ip>:8080http-server.http.enabled
Presto এর HTTP সার্ভিস চালু বা বন্ধ করার জন্য ব্যবহৃত হয়।http-server.http.enabled=true
২. node.properties
node.properties ফাইলটি Presto নোডের নির্দিষ্ট কনফিগারেশন ধারণ করে এবং এটি নির্ধারণ করে যে একটি নোড কো-অর্ডিনেটর হবে কিনা বা এটি শুধুমাত্র Worker নোড হিসেবে কাজ করবে।
node.properties-এ কিছু গুরুত্বপূর্ণ কনফিগারেশন:
node.id
এটি নোডের একটি অনন্য শনাক্তকারী। প্রতিটি Worker নোডের জন্য একটি আলাদাnode.idথাকতে হবে।node.id=worker-1http-server.http.port
প্রতিটি Worker নোডের HTTP পোর্ট নম্বর নির্ধারণ করে।http-server.http.port=8081coordinator
এটি নির্ধারণ করে যে এই নোডটি কো-অর্ডিনেটর নাকি Worker নোড হবে। যদি এটিtrueথাকে, তবে এটি কো-অর্ডিনেটর হিসেবে কাজ করবে, এবং যদিfalseথাকে তবে এটি Worker হিসেবে কাজ করবে।coordinator=falsedata-dir
এটি নোডের ডেটা সংরক্ষণ করার জন্য একটি ডিরেক্টরি নির্ধারণ করে।data-dir=/var/presto/data
config.properties এবং node.properties এর মধ্যে পার্থক্য:
| অংশ | config.properties | node.properties |
|---|---|---|
| ভূমিকা | সার্ভারের সাধারণ কনফিগারেশন (কো-অর্ডিনেটর, পোর্ট, মেমরি সীমা) | নোডের নির্দিষ্ট কনফিগারেশন (কো-অর্ডিনেটর/ওয়ার্কার, নোড আইডি) |
| কনফিগারেশন ধরনের উদাহরণ | কো-অর্ডিনেটর, HTTP পোর্ট, মেমরি সীমা, ডিসকভারি URI | নোড আইডি, HTTP পোর্ট, নোডের ভূমিকা (কো-অর্ডিনেটর/ওয়ার্কার) |
| স্থান | সাধারণত /etc/presto/ বা ইনস্টলেশনের মধ্যে থাকে | /etc/presto/ বা ইনস্টলেশনের মধ্যে থাকে |
কনফিগারেশন ফাইলগুলি কিভাবে সম্পাদনা করবেন:
config.properties এবং node.properties ফাইলগুলি খুলুন
আপনি টেক্সট এডিটর ব্যবহার করে (যেমনnanoবাvim) কনফিগারেশন ফাইলগুলি সম্পাদনা করতে পারেন:sudo nano /etc/presto/config.properties sudo nano /etc/presto/node.properties- কনফিগারেশন পরিবর্তন করুন
আপনার পরিবেশ অনুযায়ী কনফিগারেশন মানগুলো পরিবর্তন করুন (যেমন কো-অর্ডিনেটর ও নোড আইডি, পোর্ট নম্বর, মেমরি সীমা)। Presto পুনরায় শুরু করুন
কনফিগারেশন পরিবর্তন করার পর, Presto সার্ভার পুনরায় চালু করুন:sudo /opt/presto/bin/launcher restart
এই কনফিগারেশন ফাইলগুলির মাধ্যমে আপনি Presto সার্ভার এবং নোডগুলির কার্যকারিতা সম্পূর্ণরূপে কাস্টমাইজ করতে পারবেন। Proper configuration ensures better performance, resource allocation, and overall management of Presto clusters.
Read more