ক্যাসান্ড্রা র্যাক সমর্থন যোগ করুন

এই বিভাগটি ব্যক্তিগত ক্লাউড র্যাকের জন্য Apigee Edge-এ Cassandra তৈরি করে ক্যাসান্দ্রার স্কেলিং অপারেশনের জন্য সাধারণ নির্দেশিকা প্রদান করে।

কেন আপনার ক্যাসান্ড্রা রিং র্যাককে সচেতন করা গুরুত্বপূর্ণ সে সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিত সংস্থানগুলি দেখুন:

একটি আলনা কি?

একটি ক্যাসান্ড্রা র্যাক হল রিংয়ের মধ্যে ক্যাসান্দ্রা নোডগুলির একটি যৌক্তিক গ্রুপিং। ক্যাসান্ড্রা র্যাকগুলি ব্যবহার করে যাতে এটি নিশ্চিত করতে পারে যে প্রতিলিপিগুলি বিভিন্ন লজিক্যাল গ্রুপিংয়ের মধ্যে বিতরণ করা হয়েছে। ফলস্বরূপ, অপারেশনগুলি শুধুমাত্র একটি নোডে নয়, একাধিক নোডে পাঠানো হয়, প্রতিটি আলাদা র্যাকে, বৃহত্তর ত্রুটি সহনশীলতা এবং উপলব্ধতা প্রদান করে।

এই বিভাগের উদাহরণগুলি তিনটি ক্যাসান্ড্রা র্যাক ব্যবহার করে, যা উৎপাদন টপোলজিতে Apigee দ্বারা সমর্থিত র্যাকের সংখ্যা।

প্রাইভেট ক্লাউডের জন্য Apigee Edge-এ Cassandra-এর ডিফল্ট ইনস্টলেশন একটি একক লজিক্যাল র্যাক ধরে নেয় এবং এর মধ্যে একটি ডেটা সেন্টারে সমস্ত নোড রাখে। যদিও এই কনফিগারেশনটি ইনস্টল করা এবং পরিচালনা করা সহজ, তবে এই নোডগুলির একটিতে একটি অপারেশন ব্যর্থ হলে এটি ব্যর্থতার জন্য সংবেদনশীল।

নিম্নলিখিত চিত্রটি ক্যাসান্ড্রা রিংয়ের ডিফল্ট কনফিগারেশন দেখায়:

3 নোড সহ 1 র্যাক
(চিত্র 1) ডিফল্ট কনফিগারেশন: একটি একক র্যাকের সমস্ত নোড

আরও শক্তিশালী কনফিগারেশনে, প্রতিটি নোডকে একটি পৃথক র‌্যাকে বরাদ্দ করা হবে এবং সেই প্রতিটি র‌্যাকের প্রতিলিপিতেও অপারেশন চালানো হবে।

নিম্নলিখিত চিত্রটি একটি 3-নোড রিং দেখায়। এই চিত্রটি দেখায় যে ক্রমটিতে অপারেশনগুলি রিং জুড়ে প্রতিলিপি করা হয় (ঘড়ির কাঁটার দিকে) এবং এই সত্যটি হাইলাইট করে যে কোনও দুটি নোড একই রাকে নেই:

3টি র‍্যাক, প্রতিটি র‍্যাকে 1টি নোড সহ৷
(চিত্র 2) র্যাক সচেতন কনফিগারেশন: তিনটি নোড, প্রতিটি র্যাকে একটি

এই কনফিগারেশনে, অপারেশনগুলি একটি নোডে পাঠানো হয় তবে অন্যান্য র্যাকে (ঘড়ির কাঁটার দিকে) সেই নোডের প্রতিলিপিতেও পাঠানো হয়।

র্যাক সচেতনতা যোগ করুন (3টি নোড সহ)

ব্যক্তিগত ক্লাউডের জন্য Apigee Edge-এর সমস্ত প্রোডাকশন ইন্সটলেশন টপোলজিতে কমপক্ষে তিনটি ক্যাসান্ড্রা নোড রয়েছে, যেটিকে এই বিভাগটি "IP1", "IP2" এবং "IP3" হিসাবে উল্লেখ করে। ডিফল্টরূপে, এই নোডগুলির প্রতিটি একই র্যাকে থাকে, "ra-1"।

এই বিভাগটি বর্ণনা করে কিভাবে ক্যাসান্ড্রা নোডগুলিকে আলাদা র‌্যাকে বরাদ্দ করা যায় যাতে সমস্ত ক্রিয়াকলাপ রিংয়ের মধ্যে পৃথক লজিক্যাল গ্রুপিংয়ে রেপ্লিকা নোডগুলিতে পাঠানো হয়।

ইনস্টলেশনের সময় বিভিন্ন র্যাকে ক্যাসান্দ্রা নোডগুলি বরাদ্দ করতে:

  1. আপনি ইনস্টলার চালানোর আগে, ক্যাসান্ড্রা নোডে লগ ইন করুন এবং সম্পাদনার জন্য নিম্নলিখিত নীরব কনফিগারেশন ফাইলটি খুলুন:
    /opt/silent.conf

    ফাইলটি তৈরি করুন যদি এটি বিদ্যমান না থাকে এবং "apigee" ব্যবহারকারীকে একজন মালিক বানাতে ভুলবেন না।

  2. CASS_HOSTS সম্পত্তি সম্পাদনা করুন, IP ঠিকানাগুলির একটি স্থান-বিচ্ছিন্ন তালিকা (DNS বা হোস্টনাম এন্ট্রি নয়) যা নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
    CASS_HOSTS="IP_address:data_center_number,rack_number [...]"

    ডিফল্ট মান হল একটি তিনটি নোড ক্যাসান্ড্রা রিং যার প্রতিটি নোডকে র্যাক 1 এবং ডেটা সেন্টার 1 এ বরাদ্দ করা হয়েছে, নিম্নলিখিত উদাহরণটি দেখায়:

    CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
  3. র্যাক অ্যাসাইনমেন্টগুলি পরিবর্তন করুন যাতে নোড 2 র্যাক 2-এ বরাদ্দ করা হয় এবং নোড 3 র্যাক 3-এ বরাদ্দ করা হয়, যেমন নিম্নলিখিত উদাহরণটি দেখায়:
    CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"

    র্যাক অ্যাসাইনমেন্টগুলি পরিবর্তন করে, আপনি ক্যাসান্দ্রাকে দুটি অতিরিক্ত লজিক্যাল গ্রুপিং (র্যাক) তৈরি করার নির্দেশ দেন, যা তারপরে প্রথম নোড দ্বারা প্রাপ্ত সমস্ত ক্রিয়াকলাপ গ্রহণ করে এমন প্রতিলিপি প্রদান করে।

    CASS_HOSTS কনফিগারেশন বৈশিষ্ট্য ব্যবহার করার বিষয়ে আরও তথ্যের জন্য, এজ কনফিগারেশন ফাইল রেফারেন্স দেখুন।

  4. কনফিগারেশন ফাইলে আপনার পরিবর্তনগুলি সংরক্ষণ করুন এবং আপনার আপডেট করা কনফিগারেশনের সাথে ক্যাসান্ড্রা ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config

    যেমন:

    /opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
  5. রিং-এর প্রতিটি ক্যাসান্ড্রা নোডের জন্য এই পদ্ধতিটি পুনরাবৃত্তি করুন, যে ক্রমে CASS_HOSTS বৈশিষ্ট্যে নোডগুলি বরাদ্দ করা হয়েছে৷ এই ক্ষেত্রে, আপনাকে অবশ্যই নিম্নলিখিত ক্রমে ক্যাসান্দ্রা ইনস্টল করতে হবে:
    1. নোড 1 (IP1)
    2. নোড 2 (IP2)
    3. নোড 3 (IP3)

ইনস্টলেশনের পরে, আপনার ক্যাসান্ড্রা কনফিগারেশন পরীক্ষা করা উচিত।

ক্যাসান্দ্রা কনফিগারেশন পরীক্ষা করুন

একটি র্যাক-সচেতন ক্যাসান্ড্রা কনফিগারেশন ইনস্টল করার পরে, আপনি nodetool status কমান্ড ব্যবহার করে বিভিন্ন র্যাকে নোডগুলি বরাদ্দ করা হয়েছে কিনা তা পরীক্ষা করতে পারেন, যেমন নিম্নলিখিত উদাহরণটি দেখায়:

/opt/apigee/apigee-cassandra/bin/nodetool status

(আপনি ক্যাসান্দ্রা নোডগুলির একটিতে এই কমান্ডটি চালান।)

ফলাফলগুলি নিম্নলিখিতগুলির মতো হওয়া উচিত, যেখানে র্যাক কলাম প্রতিটি নোডের জন্য বিভিন্ন র্যাক আইডি দেখায়:

Datacenter: dc-1
========================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address         Load       Tokens  Owns    Host ID                             Rack
UN  IP1   737 MB  256     ?     554d4498-e683-4a53-b0a5-e37a9731bc5c     ra-1
UN  IP2   744 MB  256     ?     cf8b7abf-5c5c-4361-9c2f-59e988d52da3     ra-2
UN  IP3   723 MB  256     ?     48e0384d-738f-4589-aa3a-08dc5bd5a736     ra-3

আপনি যদি ক্যাসান্দ্রার জন্য JMX প্রমাণীকরণ সক্ষম করেন, তাহলে আপনাকে অবশ্যই আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড nodetool এ পাস করতে হবে। আরও তথ্যের জন্য, ক্লাস্টার নোডগুলি পরিচালনা করতে nodetool ব্যবহার করুন দেখুন।

একটি ছয়-নোড রিং ইনস্টল করুন

অতিরিক্ত অপ্রয়োজনীয়তার জন্য, আপনি ক্যাসান্ড্রা রিংটি ছয়টি নোডে প্রসারিত করতে পারেন। এই ক্ষেত্রে, আপনি তিনটি র্যাকের প্রতিটিতে দুটি নোড বরাদ্দ করুন। এই কনফিগারেশনের জন্য একটি অতিরিক্ত তিনটি নোড প্রয়োজন: নোড 4 (IP4), নোড 5 (IP5), এবং নোড 6 (IP6)৷

নিম্নলিখিত চিত্রটি রিং জুড়ে (ঘড়ির কাঁটার দিকে) ক্রিয়াকলাপগুলিকে প্রতিলিপি করা হয় এমন ক্রম দেখায় এবং প্রতিলিপি করার সময়, কোনও দুটি সংলগ্ন নোড একই র্যাকে নেই:

3টি র‍্যাক, প্রতিটি র‍্যাকে 2টি নোড সহ৷
(চিত্র 3) 6-নোড ক্যাসান্ড্রা রিং: তিনটি র্যাকের প্রতিটিতে দুটি নোড

এই কনফিগারেশনে, প্রতিটি নোডের আরও দুটি প্রতিলিপি রয়েছে: অন্য দুটি র্যাকের প্রতিটিতে একটি। উদাহরণস্বরূপ, র‌্যাক 1-এর নোড 1-এর র‌্যাক 2 এবং র‌্যাক 3-এ একটি প্রতিরূপ রয়েছে৷ নোড 1-এ প্রেরিত অপারেশনগুলি ঘড়ির কাঁটার ক্রমানুসারে অন্যান্য র‌্যাকের প্রতিলিপিগুলিতেও পাঠানো হয়৷

একটি থ্রি-নোড ক্যাসান্দ্রা রিংকে ছয়-নোড ক্যাসান্দ্রা রিং-এ প্রসারিত করতে, আপনার নীরব কনফিগারেশন ফাইলে নিম্নলিখিত উপায়ে নোডগুলি কনফিগার করুন:

CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"

একটি থ্রি-নোড রিংয়ের মতো, আপনাকে অবশ্যই ক্যাসান্ড্রাকে একই ক্রমে ইনস্টল করতে হবে যে ক্রমে CASS_HOSTS সম্পত্তিতে নোডগুলি উপস্থিত হয়:

  1. নোড 1 (IP1)
  2. নোড 4 (IP4)*
  3. নোড 2 (IP2)
  4. নোড 5 (IP5)
  5. নোড 3 (IP3)
  6. নোড 6 (IP6)

* চতুর্থ নোডে সেটআপ ইউটিলিটি চালানোর আগে নীরব কনফিগারেশন ফাইলে আপনার পরিবর্তনগুলি করুন (ক্যাসান্ড্রা ইনস্টলেশন অর্ডারে দ্বিতীয় মেশিন)।

12টি নোডে প্রসারিত করুন

দোষ সহনশীলতা এবং প্রাপ্যতা আরও বাড়ানোর জন্য, আপনি রিং-এ ক্যাসান্ড্রা নোডের সংখ্যা ছয় থেকে 12-এ বৃদ্ধি করতে পারেন। এই কনফিগারেশনের জন্য অতিরিক্ত ছয়টি নোড প্রয়োজন (IP7 এর মাধ্যমে IP12)।

নিম্নলিখিত চিত্রটি রিং জুড়ে (ঘড়ির কাঁটার দিকে) ক্রিয়াকলাপগুলিকে প্রতিলিপি করা হয় এমন ক্রম দেখায় এবং প্রতিলিপি করার সময়, কোনও দুটি সংলগ্ন নোড একই র্যাকে নেই:

3টি র‍্যাক, প্রতিটি র‍্যাকে 4টি নোড সহ৷
(চিত্র 4) 12-নোড ক্যাসান্ড্রা রিং: তিনটি র্যাকের প্রতিটিতে চারটি নোড

একটি 12-নোড রিং ইনস্টল করার পদ্ধতিটি একটি তিন বা ছয়টি নোড রিং ইনস্টল করার অনুরূপ: প্রদত্ত মানগুলিতে CASS_HOSTS সেট করুন এবং নির্দিষ্ট ক্রমে ইনস্টলার চালান৷

একটি 12-নোড ক্যাসান্ড্রা রিংয়ে প্রসারিত করতে, আপনার নীরব কনফিগারেশন ফাইলে নিম্নলিখিত উপায়ে নোডগুলি কনফিগার করুন:

CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"

একটি তিন- এবং ছয়-নোড রিংগুলির মতো, আপনাকে অবশ্যই নোডগুলিতে ইনস্টলারটি চালাতে হবে যে ক্রমে নোডগুলি কনফিগারেশন ফাইলে প্রদর্শিত হবে:

  1. নোড 1 (IP1)
  2. নোড 7 (IP7)*
  3. নোড 4 (IP4)
  4. নোড 8 (IP8)
  5. নোড 2 (IP2)
  6. নোড 9 (IP9)
  7. নোড 5 (IP5)
  8. নোড 10 (IP10)
  9. নোড 3 (IP3)
  10. নোড 11 (IP11)
  11. নোড 6 (IP6)
  12. নোড 12 (IP12)

* 7ম নোডে (Cassandra ইনস্টলেশনের দ্বিতীয় মেশিন) প্রাইভেট ক্লাউডের জন্য Apigee Edge ইনস্টল করার আগে আপনাকে অবশ্যই এই পরিবর্তনগুলি করতে হবে।