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 repair-এর একটি র‍্যাপার, যা Cassandra-এর repair পারফর্ম করার আগে অতিরিক্ত চেক করে।

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

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

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-এর পুরনো ভার্সন ইনস্টল করা থাকলে, সেটি প্রাইভেট ক্লাউড 4.51.00-এ আপগ্রেড করা হলেও আগের কম্প্যাকশন স্ট্র্যাটেজি বজায় থাকবে। আগে থেকে থাকা কম্প্যাকশন স্ট্র্যাটেজি SizeTieredCompactionStrategy হলে, আমরা LeveledCompactionStrategy-তে পরিবর্তন করার সাজেশন দিই, যা আরও ভালো ডিস্ক ইউটিলাইজেশন প্রদান করে।

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