Zookeeper একটি ওপেন সোর্স ডিস্ট্রিবিউটেড কনফিগারেশন সার্ভিস যা সাধারণত ডিসট্রিবিউটেড সিস্টেমে ব্যবহৃত হয়। এটি স্ট্যান্ডঅলোন মোডে বা ক্লাস্টার মোডে ইনস্টল করা যেতে পারে, যা আপনার সিস্টেমের প্রয়োজন অনুযায়ী নির্বাচন করা হয়। এখানে আমরা Zookeeper ইনস্টল করার ধাপ দেখবো, দুটি মোডে - স্ট্যান্ডঅলোন (Standalone) এবং ক্লাস্টার (Cluster) মোড।
Zookeeper Install করার জন্য পূর্বপ্রস্তুতি
Java ইনস্টলেশন: Zookeeper চালানোর জন্য Java ইনস্টল থাকা প্রয়োজন। আপনি Java 8 বা তার পরবর্তী ভার্সন ব্যবহার করতে পারেন।
Java ইনস্টল করতে নিচের কমান্ড ব্যবহার করুন:
sudo apt update sudo apt install openjdk-11-jdkZookeeper ডাউনলোড করা: Zookeeper-এর সর্বশেষ স্টেবল ভার্সন ডাউনলোড করতে আপনি Zookeeper-এর অফিসিয়াল সাইট থেকে বা নিচের কমান্ড ব্যবহার করে ডাউনলোড করতে পারেন:
wget https://downloads.apache.org/zookeeper/stable/apache-zookeeper-x.x.x-bin.tar.gzফাইল এক্সট্র্যাক্ট করা: ডাউনলোড করা ফাইলটি এক্সট্র্যাক্ট করুন:
tar -xvf apache-zookeeper-x.x.x-bin.tar.gz
Zookeeper Install (Standalone Mode)
স্ট্যান্ডঅলোন মোডে Zookeeper ইনস্টল করলে, এটি একক ইনস্ট্যান্সের মাধ্যমে কাজ করবে এবং এটি ক্লাস্টার বা উচ্চতর স্কেলিং সমর্থন করবে না।
Zookeeper কনফিগারেশন ফাইল প্রস্তুত করা: Zookeeper-এর কনফিগারেশন ফাইলের নাম
zoo.cfg। এটিconfডিরেক্টরির মধ্যে থাকবে। যদি এই ফাইলটি না থাকে, তাহলেconf/zoo_sample.cfgফাইলটি কপি করেzoo.cfgনামে রিনেম করুন:cp conf/zoo_sample.cfg conf/zoo.cfgকনফিগারেশন পরিবর্তন করা:
zoo.cfgফাইলটি একটি টেক্সট এডিটরে খুলুন এবং নিচের কনফিগারেশন সেটিংস করুন:dataDir=/var/lib/zookeeper clientPort=2181dataDirহলো সেই ডিরেক্টরি যেখানে Zookeeper তার ডেটা সংরক্ষণ করবে, এবংclientPortহলো ক্লায়েন্টের জন্য ডিফল্ট পোর্ট, যা2181থাকে।Zookeeper চালু করা: Zookeeper চালাতে
bin/zkServer.shস্ক্রিপ্টটি ব্যবহার করুন:bin/zkServer.sh startZookeeper স্ট্যাটাস চেক করা: Zookeeper এর স্ট্যাটাস চেক করতে নিচের কমান্ড ব্যবহার করুন:
bin/zkServer.sh status
Zookeeper Install (Cluster Mode)
Zookeeper ক্লাস্টার মোডে একাধিক নোডে ইনস্টল করা হয়, যেখানে একটি নোড লিডার হিসেবে কাজ করে এবং অন্যগুলি ফলোয়ার হিসেবে কাজ করে। ক্লাস্টার মোডে Zookeeper-এর আরও উন্নত পারফরম্যান্স এবং হাই অ্যাভেইলেবিলিটি থাকে।
কনফিগারেশন ফাইল প্রস্তুত করা: ক্লাস্টার মোডে
zoo.cfgফাইলটি সেটআপ করতে হবে যাতে এটি একাধিক সার্ভারের মধ্যে সমন্বয় করতে পারে। এখানে কয়েকটি গুরুত্বপূর্ণ কনফিগারেশন সেটিংস:dataDir=/var/lib/zookeeper clientPort=2181 initLimit=5 syncLimit=2 tickTime=2000 server.1=zookeeper-server1:2888:3888 server.2=zookeeper-server2:2888:3888 server.3=zookeeper-server3:2888:3888এখানে:
initLimit- ফলোয়ার সার্ভারগুলোর সাথে প্রথমবারের মতো যোগাযোগ স্থাপন করতে কত সময় লাগবে তা নির্ধারণ করে।syncLimit- লিডার এবং ফলোয়ারের মধ্যে কমিউনিকেশন ইন্টারভাল।server.x- এখানেxএর মান অনুযায়ী সার্ভার নোডের নাম এবং পোর্ট উল্লেখ করতে হবে।
Zookeeper ডেটা ডিরেক্টরি তৈরি করা: প্রতিটি নোডের জন্য ডেটা ডিরেক্টরি তৈরি করতে হবে। উদাহরণস্বরূপ:
mkdir -p /var/lib/zookeeper echo "1" > /var/lib/zookeeper/myidএখানে
1এর মান প্রথম সার্ভারের জন্য, দ্বিতীয় ও তৃতীয় সার্ভারের জন্য এই সংখ্যাগুলি যথাক্রমে ২ ও ৩ হবে।- Zookeeper ক্লাস্টার নোডে ইনস্টল করা: প্রতিটি ক্লাস্টার নোডে Zookeeper ইনস্টল করতে হবে। প্রতিটি নোডের কনফিগারেশন ফাইল এবং
myidফাইল সঠিকভাবে সেটআপ করুন। Zookeeper ক্লাস্টার চালু করা: সব সার্ভারে Zookeeper চালাতে হবে:
bin/zkServer.sh startক্লাস্টার স্ট্যাটাস চেক করা: Zookeeper ক্লাস্টারের স্ট্যাটাস চেক করতে:
bin/zkServer.sh statusএটি প্রতিটি নোডের স্ট্যাটাস দেখাবে এবং আপনি দেখতে পাবেন কোন নোড লিডার এবং কোনটি ফলোয়ার হিসেবে কাজ করছে।
সারাংশ
Zookeeper ইনস্টলেশন প্রক্রিয়া সহজ হলেও ক্লাস্টার মোডে এটি কিছুটা জটিল হতে পারে। স্ট্যান্ডঅলোন মোড একটি সহজ এবং দ্রুত সেটআপ, তবে ক্লাস্টার মোডে Zookeeper বেশি স্কেলেবিলিটি এবং হাই অ্যাভেইলেবিলিটি প্রদান করে, যা বৃহৎ ডিস্ট্রিবিউটেড সিস্টেমের জন্য গুরুত্বপূর্ণ।
Read more