مهام صيانة Apache Cassandra

يصف هذا القسم مهام الصيانة الدورية لـ "كاساندرا".

صيانة مضادة للإنتروبيا

تتطلّب عُقد Apache Cassandra صيانة دورية لضمان الاتّساق في جميع العُقد. لإجراء هذه الصيانة، استخدِم الأمر التالي:

apigee-service apigee-cassandra apigee_repair -pr

تنصح Apigee بما يلي عند تشغيل هذا الأمر:

  • التشغيل على كل عقدة 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
  • تشغيل التطبيق خلال فترات أعباء العمل المنخفضة نسبيًا (تفرض الأداة عبئًا كبيرًا على النظام)
  • قم بالتشغيل كل سبعة أيام على الأقل للتخلص من المشاكل المتعلقة بـ "عمليات الحذف المنسية" لـ "كاساندرا".
  • يمكنك التشغيل على عُقد مختلفة في أيام مختلفة، أو جدولتها بحيث تكون هناك ساعات متعددة بين تشغيلها في كل عقدة.
  • استخدِم الخيار -pr (نطاق المقسِّم) لتحديد نطاق القسم الأساسي للعقدة فقط.

في حال تفعيل مصادقة JMX لـ Cassandra، عليك تضمين اسم المستخدم وكلمة المرور عند استدعاء 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 ميغابايت كحدّ أقصى، وبعد بلوغ هذا الحدّ، يتم حذف السجلات القديمة عند إنشاء سجلّات جديدة.

إذا وجدت أنّ ملفات سجلّ 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 بانتظام لضمان توفُّر 50 في المئة على الأقل من كل قرص فارغ. إذا كان معدّل استخدام القرص يتخطى 50 في المئة، ننصحك بإضافة المزيد من مساحة القرص لتقليل النسبة المئوية قيد الاستخدام.

تُجري "كاساندرا" تلقائيًا العمليات التالية لتقليل استخدامها على القرص:

  • حذف الرمز المميّز للمصادقة عند انتهاء صلاحية الرموز المميّزة مع ذلك، قد يستغرق إخلاء مساحة القرص التي كانت تستخدمها الرموز المميّزة بضعة أسابيع بناءً على الإعدادات التي اخترتها. وإذا لم يكن الحذف التلقائي كافيًا للحفاظ على مساحة كافية على القرص، يُرجى التواصل مع فريق الدعم لمعرفة كيفية حذف الرموز المميّزة يدويًا لاسترداد مساحة.
  • ضغط البيانات. ننصحك بتغيير استراتيجية الضغط في مساحات المفاتيح LeveledCompactionStrategy التي توفّر استراتيجيات لاستخدام القرص أفضل من استراتيجية SizeTieredCompactionStrategy التلقائية. راجِع استراتيجية الضغط على مستوى أعلى.

ملاحظة: عندما تُجري Cassandra ضغط البيانات، قد يستغرق ذلك قدرًا كبيرًا من دورات وحدة المعالجة المركزية (CPU) والذاكرة. ولكن يجب أن يعود استخدام الموارد إلى طبيعته بمجرد اكتمال عمليات ضغط الموارد. يمكنك تشغيل الأمر 'Nodetool compactionstats' على كل عقدة للتحقق مما إذا كان الضغط قيد التشغيل. تُعلِمك نتيجة compactionstats بما إذا كانت هناك عمليات ضغط معلّقة لتنفيذها وبالوقت المقدَّر للاكتمال.