ক্যাসান্দ্রা প্রতিলিপি ফ্যাক্টর এবং ধারাবাহিকতা স্তর সম্পর্কে

ক্যাসান্দ্রা প্রতিলিপি ফ্যাক্টর সম্পর্কে

নির্ভরযোগ্যতা এবং দোষ সহনশীলতা নিশ্চিত করতে ক্যাসান্ড্রা একাধিক নোডে ডেটা প্রতিলিপি সংরক্ষণ করে। প্রতিটি এজ কীস্পেসের জন্য প্রতিলিপি কৌশল নোডগুলি নির্ধারণ করে যেখানে প্রতিলিপিগুলি স্থাপন করা হয়।

একটি ক্যাসান্ড্রা ক্লাস্টার জুড়ে একটি কীস্পেসের জন্য মোট প্রতিলিপির সংখ্যাকে কীস্পেসের প্রতিলিপি ফ্যাক্টর হিসাবে উল্লেখ করা হয়। একটির একটি প্রতিলিপি ফ্যাক্টর মানে ক্যাসান্দ্রা ক্লাস্টারে প্রতিটি সারির একটি মাত্র কপি রয়েছে। দুটির একটি প্রতিলিপি ফ্যাক্টর মানে প্রতিটি সারির দুটি কপি রয়েছে, যেখানে প্রতিটি অনুলিপি একটি ভিন্ন নোডে রয়েছে। সমস্ত প্রতিলিপি সমান গুরুত্বপূর্ণ; কোন প্রাথমিক বা মাস্টার রেপ্লিকা নেই.

প্রতিটি ডেটা সেন্টারে তিনটি বা তার বেশি ক্যাসান্ড্রা নোড সহ একটি উত্পাদন সিস্টেমে, একটি এজ কীস্পেসের জন্য ডিফল্ট প্রতিলিপি ফ্যাক্টর তিনটি। একটি সাধারণ নিয়ম হিসাবে, প্রতিলিপি ফ্যাক্টর ক্লাস্টারে ক্যাসান্ড্রা নোডের সংখ্যা অতিক্রম করা উচিত নয়।

ক্যাসান্ড্রা স্কিমা দেখতে নিম্নলিখিত পদ্ধতিটি ব্যবহার করুন, যা প্রতিটি এজ কীস্পেসের জন্য প্রতিলিপি ফ্যাক্টর দেখায়:

  1. একটি ক্যাসান্দ্রা নোডে লগ ইন করুন।
  2. নিম্নলিখিত কমান্ড চালান:
    /opt/apigee/apigee-cassandra/bin/cqlsh $(hostname -i) [-u cassuser -p casspass] -e "select keyspace_name, replication from system_schema.keyspaces;"

    যেখানে $(hostname -i) ক্যাসান্ড্রা নোডের আইপি ঠিকানার সমাধান করে। অথবা আপনি নোডের IP ঠিকানা দিয়ে $(hostname -i) প্রতিস্থাপন করতে পারেন।

    cassuser : আপনি যদি ক্যাসান্দ্রা প্রমাণীকরণ সক্ষম করে থাকেন, ক্যাসান্দ্রা ব্যবহারকারীর নামটি পাস করুন। এটি ঐচ্ছিক এবং আপনার ক্যাসান্ড্রা প্রমাণীকরণ সক্ষম না থাকলে এড়িয়ে যাওয়া যেতে পারে।

    casspass : আপনি যদি ক্যাসান্দ্রা প্রমাণীকরণ সক্ষম করে থাকেন তবে ক্যাসান্দ্রা পাসওয়ার্ডটি পাস করুন। এটি ঐচ্ছিক এবং আপনার ক্যাসান্ড্রা প্রমাণীকরণ সক্ষম না থাকলে এড়িয়ে যাওয়া যেতে পারে।

আপনি নীচের মত আউটপুট দেখতে পাবেন, যেখানে প্রতিটি সারি একটি কীস্পেস প্রতিনিধিত্ব করে:

  keyspace_name       | replication                                                                 
  kms                 | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc-1': '3'}
  system_distributed  | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
  apprepo             | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc-1': '3'}
  

আপনি দেখতে পাচ্ছেন যে ডেটা সেন্টার 1, dc-1-এর জন্য, kms কীস্পেসের জন্য ডিফল্ট রেপ্লিকেশন ফ্যাক্টর তিনটি ক্যাসান্ড্রা নোড সহ একটি ইনস্টলেশনের জন্য তিনটি। ক্যাসান্দ্রার অভ্যন্তরীণ কিছু কী-স্পেসের জন্য (যেমন সিস্টেম, সিস্টেম_স্কিমা, ইত্যাদি), প্রতিলিপি কৌশল এবং প্রতিলিপি ফ্যাক্টর ভিন্ন হতে পারে। এটি ইচ্ছাকৃত সিস্টেম আচরণ।

আপনি ক্লাস্টারে অতিরিক্ত ক্যাসান্ড্রা নোড যোগ করলে, ডিফল্ট প্রতিলিপি ফ্যাক্টর প্রভাবিত হয় না।

ক্যাসান্দ্রা ধারাবাহিকতা স্তর সম্পর্কে

ক্যাসান্দ্রা সঙ্গতি স্তরটি ক্যাসান্দ্রা নোডের ন্যূনতম সংখ্যা হিসাবে সংজ্ঞায়িত করা হয় যা অপারেশন সফল বলে বিবেচিত হওয়ার আগে একটি রিড বা রাইট অপারেশন স্বীকার করতে হবে। বিভিন্ন এজ কীস্পেসগুলিতে বিভিন্ন সামঞ্জস্যের স্তর বরাদ্দ করা যেতে পারে।

পঠন এবং লেখার ক্রিয়াকলাপের জন্য ক্যাসান্দ্রার সাথে সংযোগ করার সময়, বার্তা প্রসেসর এবং ম্যানেজমেন্ট সার্ভার নোডগুলি সাধারণত একটি কীস্পেসের জন্য সামঞ্জস্যের স্তর নির্দিষ্ট করতে LOCAL_QUORUM এর ক্যাসান্দ্রা মান ব্যবহার করে। যাইহোক, কিছু কী-স্পেসকে সংজ্ঞায়িত করা হয়েছে একটির ধারাবাহিকতা স্তর ব্যবহার করার জন্য।

একটি ডেটা সেন্টারের জন্য LOCAL_QUORUM এর মানের গণনা হল:

LOCAL_QUORUM = (replication_factor/2) + 1

উপরে বর্ণিত হিসাবে, তিনটি ক্যাসান্ড্রা নোড সহ একটি এজ উত্পাদন পরিবেশের জন্য ডিফল্ট প্রতিলিপি ফ্যাক্টর তিনটি। অতএব, LOCAL_QUORUM = (3/2) +1 = 2 এর ডিফল্ট মান (মানটি একটি পূর্ণসংখ্যায় বৃত্তাকার করা হয়েছে)।

LOCAL_QUORUM = 2 এর সাথে, অপারেশন সফল হওয়ার জন্য ডেটা সেন্টারের তিনটি ক্যাসান্ড্রা নোডের মধ্যে অন্তত দুটিকে অবশ্যই একটি রিড/রাইট অপারেশনে সাড়া দিতে হবে। একটি তিনটি নোড ক্যাসান্দ্রা ক্লাস্টারের জন্য, ক্লাস্টারটি তাই প্রতি ডেটা সেন্টারে একটি নোড নিচে থাকা সহ্য করতে পারে।

LOCAL_QUORUM হিসাবে সামঞ্জস্যের স্তর নির্দিষ্ট করে, এজ একাধিক ডেটা সেন্টার জুড়ে ক্রিয়াকলাপ যাচাই করে প্রয়োজনীয় লেটেন্সি এড়ায়। যদি একটি কীস্পেস ক্যাসান্দ্রা QUORUM মানকে সামঞ্জস্য স্তর হিসাবে ব্যবহার করে, তবে পঠন/লেখার ক্রিয়াকলাপগুলি সমস্ত ডেটা সেন্টার জুড়ে যাচাই করতে হবে।

এজ মেসেজ প্রসেসর বা ম্যানেজমেন্ট সার্ভার নোড দ্বারা ব্যবহৃত ধারাবাহিকতা স্তর দেখতে:

  1. একটি বার্তা প্রসেসর নোডে লগ ইন করুন।
  2. /opt/apigee/edge-message-processor/conf ডিরেক্টরিতে পরিবর্তন করুন:
    cd /opt/apigee/edge-message-processor/conf
  3. পড়া এবং লেখার ধারাবাহিকতার জন্য:
    grep -ri "consistency.level" *
  4. ম্যানেজমেন্ট সার্ভার নোডে লগ ইন করুন।
  5. /opt/apigee/edge-management-server/conf ডিরেক্টরিতে পরিবর্তন করুন:
    cd /opt/apigee/edge-management-server/conf
  6. ধাপ 3 পুনরাবৃত্তি করুন।

আপনি যদি ক্লাস্টারে অতিরিক্ত ক্যাসান্ড্রা নোড যোগ করেন, তবে সামঞ্জস্যের স্তর প্রভাবিত হয় না।