Apache Cassandra রক্ষণাবেক্ষণের কাজ

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

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

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

apigee-service apigee-cassandra apigee_repair -pr

এই কমান্ড চালানোর সময় Apigee নিম্নলিখিত সুপারিশ করে:

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

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

    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
  • তুলনামূলকভাবে কম কাজের চাপের সময় চালান (টুলটি সিস্টেমে একটি উল্লেখযোগ্য লোড চাপিয়ে দেয়)।
  • ক্যাসান্দ্রার "ভুলে যাওয়া মুছে ফেলা" সম্পর্কিত সমস্যাগুলি দূর করতে কমপক্ষে প্রতি সাত দিনে চালান।
  • বিভিন্ন দিনে বিভিন্ন নোডে চালান, বা এটিকে শিডিউল করুন যাতে প্রতিটি নোডে এটি চালানোর মধ্যে কয়েক ঘন্টা থাকে।
  • শুধুমাত্র নোডের প্রাথমিক পার্টিশনারের পরিসর নির্দিষ্ট করতে -pr বিকল্পটি (পার্টিশনারের পরিসর) ব্যবহার করুন।

আপনি যদি ক্যাসান্দ্রার জন্য 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 লগগুলি প্রতিটি নোডে /opt/apigee/var/log/cassandra ডিরেক্টরিতে সংরক্ষণ করা হয়। ডিফল্টরূপে, সর্বোচ্চ 50টি লগ ফাইল তৈরি করা যেতে পারে, প্রতিটির সর্বোচ্চ আকার 20 এমবি। একবার এই সীমা পৌঁছে গেলে পুরানো লগগুলি মুছে ফেলা হয় যখন নতুন লগ তৈরি করা হয়।

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

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

ডিস্ক স্থান রক্ষণাবেক্ষণ

প্রতিটি ডিস্কের কমপক্ষে 50 শতাংশ বিনামূল্যে নিশ্চিত করতে আপনার নিয়মিতভাবে ক্যাসান্ড্রা ডিস্কের ব্যবহার পর্যবেক্ষণ করা উচিত। যদি ডিস্কের ব্যবহার 50 শতাংশের উপরে উঠে যায়, আমরা সুপারিশ করি যে আপনি ব্যবহার করা শতাংশ কমাতে আরও ডিস্কের স্থান যোগ করুন।

ক্যাসান্ড্রা তার নিজস্ব ডিস্ক ব্যবহার কমাতে স্বয়ংক্রিয়ভাবে নিম্নলিখিত ক্রিয়াকলাপগুলি সম্পাদন করে:

  • টোকেন মেয়াদ শেষ হলে প্রমাণীকরণ টোকেন মুছে ফেলা। যাইহোক, আপনার কনফিগারেশনের উপর নির্ভর করে টোকেনগুলি যে ডিস্ক স্পেস ব্যবহার করছিল তা খালি করতে কয়েক সপ্তাহ সময় লাগতে পারে। যদি স্বয়ংক্রিয়ভাবে মুছে ফেলা যথেষ্ট ডিস্ক স্থান বজায় রাখার জন্য পর্যাপ্ত না হয়, তাহলে স্থান পুনরুদ্ধার করতে টোকেনগুলি ম্যানুয়ালি মুছে ফেলার বিষয়ে জানতে সহায়তার সাথে যোগাযোগ করুন।
  • ডেটা কম্প্যাকশন। আমরা কী-স্পেসে কমপ্যাকশন কৌশল পরিবর্তন করার পরামর্শ দিই LeveledCompactionStrategy , যা ডিফল্ট SizeTieredCompactionStrategy এর চেয়ে ভালো ডিস্ক ব্যবহার কৌশল অফার করে। লেভেলড কমপ্যাকশন কৌশল দেখুন।

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