Apache Cassandra রক্ষণাবেক্ষণ টাস্ক

এই বিভাগে Cassandra-র জন্য পর্যায়ক্রমিক রক্ষণাবেক্ষণের কাজগুলি বর্ণনা করা হয়েছে।

অ্যান্টি-এনট্রপি রক্ষণাবেক্ষণ

সব নোড জুড়ে সামঞ্জস্য নিশ্চিত করতে Apache Cassandra রিং নোডগুলির জন্য মাঝে মাঝে রক্ষণাবেক্ষণ প্রয়োজন হয়। এই রক্ষণাবেক্ষণ করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

apigee-service apigee-cassandra apigee_repair -pr

এই কমান্ড রান করার সময় Apigee নিম্নলিখিত বিষয়গুলি সাজেস্ট করে:

  • প্রতিটি Cassandra নোডে (সব অঞ্চল বা ডেটা সেন্টার জুড়ে) রান করুন।
  • রিংয়ের সব নোড জুড়ে সামঞ্জস্য নিশ্চিত করতে, একবারে একটি নোডে রান করুন। একই সময়ে একাধিক নোডে রিপেয়ার জব রান করলে Cassandra-র স্বাস্থ্য ক্ষতিগ্রস্ত হতে পারে।

    কোনও নোডে মেরামতের কাজ সফলভাবে সম্পূর্ণ হয়েছে কিনা তা চেক করতে, নোডের system.log ফাইলে এন্ট্রি দেখুন, যেখানে লেটেস্ট মেরামতের সেশনের UUID এবং "সেশন সফলভাবে সম্পূর্ণ হয়েছে" কথাটি লেখা আছে। এখানে একটি নমুনা লগ এন্ট্রি দেওয়া হল:

    INFO [AntiEntropySessions:1] 2015-03-01 10:02:56,245 RepairSession.java (line 282) [repair #2e7009b0-c03d-11e4-9012-99a64119c9d8] session completed successfully"
    Ref: https://support.datastax.com/hc/en-us/articles/204226329-How-to-check-if-a-scheduled-nodetool-repair-ran-successfully
  • তুলনামূলকভাবে কম কাজের লোড থাকাকালীন রান করুন (টুলটি সিস্টেমে উল্লেখযোগ্য লোড আরোপ করে)।
  • Cassandra-এর "ভুলে যাওয়া মুছে ফেলা" সংক্রান্ত সমস্যা দূর করতে অন্তত প্রতি সাত দিনে একবার রান করুন।
  • বিভিন্ন দিনে বিভিন্ন নোডে চালান অথবা এটি শিডিউল করুন যাতে প্রতিটি নোডে এটি চালানোর মধ্যে কয়েক ঘণ্টার ব্যবধান থাকে।
  • প্রাথমিক পার্টিশনার রেঞ্জ নির্দিষ্ট করতে -pr বিকল্প (পার্টিশনার রেঞ্জ) ব্যবহার করুন শুধুমাত্র নোডের।

আপনি Cassandra-র জন্য JMX যাচাইকরণ চালু করলে, nodetool ইনভোক করার সময় আপনাকে অবশ্যই ব্যবহারকারীর নাম ও পাসওয়ার্ড যোগ করতে হবে। যেমন:

apigee-service apigee-cassandra apigee_repair -u username -pw password -pr

এছাড়াও, apigee_repair:-এর কাজ করে এমন বিকল্প চেক করতে, আপনি নিম্নলিখিত কমান্ড চালাতে পারবেন

apigee-service apigee-cassandra apigee_repair -h

মনে রাখবেন: apigee_repair হল Cassandra-র nodetool রিপেয়ারের চারপাশে একটি র‍্যাপার, যা Cassandra-র রিপেয়ার করার আগে অতিরিক্ত চেক করে।

আরও তথ্যের জন্য, নিম্নলিখিত রিসোর্স দেখুন:

লগ ফাইল রক্ষণাবেক্ষণ

Cassandra লগ প্রতিটি নোডের /opt/apigee/var/log/apigee-cassandra ডিরেক্টরিতে স্টোর করা হয়। ডিফল্ট হিসেবে, সর্বাধিক ৫০টি লগ ফাইল তৈরি করা যেতে পারে, প্রতিটি ফাইলের সর্বাধিক সাইজ ২০ এমবি হতে পারে। এই সীমা পৌঁছে গেলে, নতুন লগ তৈরি করার সময় পুরনো লগ মুছে দেওয়া হয়।

আপনি যদি দেখেন যে Cassandra লগ ফাইলগুলি অত্যধিক জায়গা নিচ্ছে, তাহলে আপনি log4j সেটিংস এডিট করে লগ ফাইলের জন্য বরাদ্দ করা জায়গার পরিমাণ পরিবর্তন করতে পারেন।

  1. নিচের প্রপার্টি সেট করতে /opt/apigee/customer/application/cassandra.properties এডিট করুন। সেই ফাইলটি না থাকলে, এটি তৈরি করুন:
    conf_logback_maxfilesize=20MB
    # max file size
    conf_logback_maxbackupindex=50 # max open files
  2. এই কমান্ড ব্যবহার করে Cassandra রিস্টার্ট করুন:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

ডিস্ক স্পেস রক্ষণাবেক্ষণ

প্রতিটি ডিস্কের অন্তত ৫০ শতাংশ খালি আছে কিনা তা নিশ্চিত করতে আপনাকে নিয়মিত Cassandra ডিস্কের ব্যবহার মনিটর করতে হবে। ডিস্কের ব্যবহার ৫০ শতাংশের বেশি হলে, আমরা সাজেস্ট করি যে আপনি ব্যবহার করা শতাংশ কমাতে আরও ডিস্ক স্পেস যোগ করুন।

Cassandra অটোমেটিক নিম্নলিখিত অপারেশনগুলি সম্পাদন করে যাতে এর নিজস্ব ডিস্ক ব্যবহার কম হয়:

  • টোকেনের মেয়াদ শেষ হয়ে গেলে যাচাইকরণ টোকেন মুছে দেওয়া। তবে, আপনার কনফিগারেশনের উপর নির্ভর করে, টোকেনগুলি যে ডিস্ক স্পেস ব্যবহার করছিল তা খালি করতে কয়েক সপ্তাহ সময় লাগতে পারে। যথেষ্ট ডিস্ক স্পেস বজায় রাখার জন্য অটোমেটিক মুছে ফেলা যথেষ্ট না হলে, স্পেস ফিরিয়ে আনতে টোকেন ম্যানুয়ালি মুছে ফেলার ব্যাপারে জানতে সহায়তায় যোগাযোগ করুন।
  • ডেটা কম্প্যাকশন: Edge for Private Cloud 4.51.00 থেকে শুরু করে, Apigee Cassandra-এর নতুন ইনস্টলেশন লেভেলড কম্প্যাকশন স্ট্র্যাটেজি-এর মাধ্যমে কীস্পেস তৈরি করে।

    Edge for Private Cloud-এর আগের ভার্সন ইনস্টল করা থাকলে এবং সেটি Edge for Private Cloud 4.54.00-এ আপগ্রেড করা হলে, আগের কম্প্যাকশন স্ট্র্যাটেজি অপরিবর্তিত থাকে। আগে থেকে থাকা কম্প্যাকশন স্ট্র্যাটেজি SizeTieredCompactionStrategy হলে, Apigee এটিকে LeveledCompactionStrategy-এ পরিবর্তন করার সাজেশন দেয়, যা আরও ভাল ডিস্ক ব্যবহারের সুবিধা প্রদান করে। নির্দেশাবলীর জন্য, Cassandra কম্প্যাকশন স্ট্র্যাটেজি পরিবর্তন করুন দেখুন।

মনে রাখবেন: Cassandra যখন ডেটা কম্প্যাকশন করে, তখন এটি যথেষ্ট পরিমাণে CPU সাইকেল এবং মেমরি নিতে পারে। তবে, কম্প্যাকশন সম্পূর্ণ হয়ে গেলে রিসোর্স ব্যবহার স্বাভাবিক অবস্থায় ফিরে আসা উচিত। কম্প্যাকশন চলছে কিনা তা চেক করতে আপনি প্রতিটি নোডে 'Nodetool compactionstats' কমান্ড চালাতে পারেন। compactionstats-এর আউটপুট আপনাকে জানায় যে কোনও কম্প্যাকশন এক্সিকিউট করা বাকি আছে কিনা এবং তা সম্পূর্ণ করার আনুমানিক সময়।