Apache Cassandra একটি ওপেন সোর্স ডিস্ট্রিবিউটেড NoSQL ডেটাবেস যা সিস্টেমের স্কেলেবিলিটি এবং উচ্চলভ্যতা নিশ্চিত করে। এটি স্থানীয় (Local) পরিবেশে বা একাধিক সার্ভার নিয়ে Cluster আর্কিটেকচারে ইনস্টল করা যেতে পারে। Cassandra ইনস্টলেশনের পদ্ধতি অনুসরণ করলে আপনি সহজেই একে আপনার প্রয়োজনে কনফিগার এবং চালনা করতে পারবেন।
এখানে আমরা Cassandra ইনস্টলেশন এর দুটি গুরুত্বপূর্ণ অংশ আলোচনা করব:
- Local Setup - একক মেশিনে Cassandra ইনস্টল করা।
- Cluster Setup - একাধিক মেশিনে Cassandra ক্লাস্টার তৈরি করা।
1. Local Setup (একক মেশিনে Cassandra ইনস্টলেশন)
Cassandra এর Local Setup সাধারণত একটি ডেভেলপমেন্ট বা পরীক্ষামূলক পরিবেশে ব্যবহৃত হয়। এই ইনস্টলেশনটি খুবই সহজ এবং একক মেশিনে কাজ করার জন্য কার্যকরী। নীচে আমরা Cassandra Local Setup এর ধাপগুলো আলোচনা করব।
1.1 Prerequisites:
- Java: Cassandra Java-ভিত্তিক অ্যাপ্লিকেশন হওয়ায়, JDK 8 বা তার পরের সংস্করণ ইনস্টল করা থাকতে হবে।
- Python: Cassandra কনফিগারেশনের জন্য Python প্রয়োজন হতে পারে (যেমন
setup.pyস্ক্রিপ্টের জন্য)। - বিভিন্ন প্যাকেজ: উইন্ডোজ, লিনাক্স বা ম্যাকOS এ Cassandra ইনস্টল করার জন্য কিছু নির্দিষ্ট প্যাকেজ থাকতে হবে (যেমন
libaioলিনাক্সের জন্য)।
1.2 Cassandra ইনস্টলেশন প্রক্রিয়া:
- Java ইনস্টল করা: Cassandra 3.x এবং এর পরবর্তী সংস্করণগুলোর জন্য JDK 8 বা তার পরের সংস্করণ প্রয়োজন।
জাভা ইনস্টল করার জন্য নিম্নলিখিত কমান্ড ব্যবহার করতে পারেন:
sudo apt-get install openjdk-8-jdkনিশ্চিত করুন Java ইনস্টল হয়েছে:
java -version
- Cassandra ডাউনলোড: Cassandra এর অফিসিয়াল ওয়েবসাইট থেকে সর্বশেষ স্থিতিশীল ভার্সন ডাউনলোড করুন।
ডাউনলোড করার জন্য:
wget https://downloads.apache.org/cassandra/3.11.10/apache-cassandra-3.11.10-bin.tar.gz
Cassandra এক্সট্র্যাক্ট করা: ডাউনলোডকৃত ফাইলটি এক্সট্র্যাক্ট করুন:
tar -xvzf apache-cassandra-3.11.10-bin.tar.gz- Cassandra কনফিগারেশন:
- Cassandra ইনস্টলেশনের পর কনফিগারেশন ফাইলটি (conf/cassandra.yaml) প্রয়োজন অনুযায়ী কাস্টমাইজ করুন।
- Cluster Name, Seed Nodes, এবং Listen Address প্যারামিটার কনফিগার করুন।
Cassandra চালু করা: Cassandra চালানোর জন্য:
cd apache-cassandra-3.11.10 bin/cassandra -fCassandra Shell চালানো: Cassandra চালু হলে cqlsh ব্যবহার করে Cassandra এর কুইকি SQL Shell ব্যবহার করা যাবে:
bin/cqlsh
1.3 Local Setup এর পরবর্তী পদক্ষেপ:
- একবার Cassandra চালু হলে, আপনি Local Setup এ ডেটাবেস তৈরি এবং কিউএল (CQL) কমান্ডগুলি চালিয়ে দেখতে পারবেন।
- আপনি সহজেই CQL (Cassandra Query Language) ব্যবহার করে টেবিল তৈরি এবং ডেটা ইন্সার্ট করতে পারবেন।
2. Cluster Setup (Cassandra Cluster ইনস্টলেশন)
Cassandra এর Cluster Setup কয়েকটি মেশিন বা ভার্চুয়াল মেশিনে বিভক্ত হয়ে ডেটা সঞ্চয় এবং প্রসেস করতে সহায়তা করে। একাধিক নোড (node) ব্যবহার করে একটি কার্যকরী এবং স্কেলেবল Cassandra ক্লাস্টার তৈরি করা হয়।
2.1 Cluster Setup এর পূর্ব প্রস্তুতি:
- একটি ক্লাস্টার তৈরি করার জন্য, ন্যূনতম দুটি বা তার বেশি মেশিন বা ভার্চুয়াল মেশিনের প্রয়োজন।
- Each node-এ Cassandra ইনস্টল করা থাকতে হবে, এবং নেটওয়ার্কে তাদের একে অপরের সাথে যোগাযোগের জন্য সেটিংস করতে হবে।
2.2 Cassandra Cluster Setup এর ধাপ:
- প্রথম নোডে Cassandra ইনস্টল করা: প্রথম নোডে (যে নোডটি প্রথম শুরু হবে) Cassandra ইনস্টল এবং কনফিগার করুন যেমন পূর্বে Local Setup এ আলোচনা করা হয়েছিল। তবে, এই ক্ষেত্রে, Cluster Name এবং Seed Nodes কনফিগারেশনটি গুরুত্বপূর্ণ।
- seed_nodes কনফিগারেশন:
cassandra.yaml ফাইলে seeds প্যারামিটারটি কনফিগার করুন। এটি সেই নোডগুলির লিস্ট যেগুলি ক্লাস্টারের প্রথম যোগাযোগের পয়েন্ট হিসাবে কাজ করবে।
seeds: "node1_ip, node2_ip"
- অন্যান্য নোডে Cassandra ইনস্টল এবং কনফিগার: অন্যান্য নোডে Cassandra ইনস্টল এবং কনফিগার করুন, এবং তাদের
cassandra.yamlফাইলে seed_nodes প্যারামিটারটি একই ভাবে কনফিগার করুন। Cassandra নোডগুলি একে অপরের সাথে যোগাযোগ করছে কি না পরীক্ষা করুন: একে অপরের সাথে নোডগুলো সঠিকভাবে যুক্ত আছে কিনা তা নিশ্চিত করতে, আপনি
nodetool statusকমান্ড ব্যবহার করতে পারেন:nodetool status- Cluster চালু করা: যখন সমস্ত নোড সঠিকভাবে কনফিগার হয়ে যাবে, তখন Cassandra ক্লাস্টারটি চালু করা যাবে। প্রতিটি নোডে
bin/cassandra -fচালিয়ে সিস্টেম চালু করুন।
2.3 Cluster Configuration পরীক্ষা:
Cassandra ক্লাস্টারে একাধিক নোড একসাথে কাজ করছে কিনা তা পরীক্ষা করতে,
nodetool statusএবংnodetool ringব্যবহার করে নোডগুলোর অবস্থা এবং ডেটা ডিসট্রিবিউশন চেক করতে পারবেন।nodetool status nodetool ring
3. Cluster Setup এর পরবর্তী পদক্ষেপ:
- ক্লাস্টার চালু হলে, আপনি কুইকলি ডেটা রিড এবং রাইট অপারেশন চালাতে পারবেন।
- বিভিন্ন Consistency Level কনফিগারেশন করে ডেটার এক্সেস এবং আপডেট ম্যানেজ করুন।
- বিভিন্ন নোডের মধ্যে ডেটার সঠিক রিপ্লিকেশন এবং ভারসাম্য বজায় রাখার জন্য Replication Factor কনফিগার করুন।
সারাংশ
Cassandra ইনস্টলেশন খুবই সহজ, তবে এটি আপনার প্রয়োজনে কাস্টমাইজ করা যেতে পারে। Local Setup সাধারণত ডেভেলপমেন্ট এবং পরীক্ষামূলক কাজের জন্য ব্যবহৃত হয়, যেখানে একক মেশিনে Cassandra চালানো হয়। Cluster Setup একাধিক মেশিনে Cassandra ইনস্টল করার জন্য ব্যবহৃত হয়, যা উচ্চলভ্যতা, স্কেলেবিলিটি এবং পারফরম্যান্স নিশ্চিত করতে সহায়তা করে। Cassandra-র মধ্যে Seed Nodes, Replication Factor, Consistency Levels, এবং Cluster Configuration এর মাধ্যমে সিস্টেমটি অত্যন্ত শক্তিশালী এবং বিশ্বস্ত হয়ে ওঠে।
Read more