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

لمزيد من المعلومات، يُرجى الاطّلاع على المراجع التالية:

صيانة ملف السجلّ

تم تخزين سجلّات "كاساندرا" في الدليل /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

صيانة مساحة القرص

يجب عليك مراقبة استخدام قرص "كاساندرا" بانتظام للتأكد من أن 50 بالمائة على الأقل من ويكون كل قرص مجانيًا. في حال تجاوز نسبة استخدام القرص 50%، ننصحك إضافة مساحة أكبر على القرص لتقليل النسبة المئوية المستخدمة.

تنفذ كاساندرا تلقائيًا العمليات التالية لتقليل استخدامه للقرص:

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

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