يصف هذا القسم مهام الصيانة الدورية لـ 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(نطاق أداة التقسيم) لتحديد نطاق أداة التقسيم الأساسي للعقدة فقط.
إذا فعّلت مصادقة 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 هو برنامج تضمين لعملية إصلاح nodetool في Cassandra،
ويُجري عمليات تحقّق إضافية قبل تنفيذ عملية الإصلاح في Cassandra.
لمزيد من المعلومات، يُرجى الاطّلاع على المراجع التالية:
صيانة ملف السجلّ
يتم تخزين سجلّات Cassandra في دليل /opt/apigee/var/log/apigee-cassandra على
كل عقدة. يمكن إنشاء 50 ملف سجلّ كحدّ أقصى، ويبلغ الحدّ الأقصى لحجم كل ملف 20 ميغابايت. وعند بلوغ هذا الحدّ، يتم حذف السجلّات القديمة عند إنشاء سجلّات جديدة.
إذا وجدت أنّ ملفات سجلّات Cassandra تشغل مساحة كبيرة، يمكنك تعديل مقدار المساحة المخصّصة لملفات السجلّ من خلال تعديل إعدادات log4j.
- عدِّل
/opt/apigee/customer/application/cassandra.propertiesلضبط السمات التالية. إذا لم يكن هذا الملف متوفّرًا، أنشِئه:conf_logback_maxfilesize=20MB # max file size conf_logback_maxbackupindex=50 # max open files
- أعِد تشغيل Cassandra باستخدام الأمر التالي:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
صيانة مساحة القرص
يجب مراقبة استخدام قرص Cassandra بانتظام لضمان توفُّر ما لا يقل عن %50 من مساحة كل قرص. إذا ارتفع معدّل استخدام القرص عن %50، ننصحك بإضافة المزيد من مساحة القرص لتقليل النسبة المئوية المستخدَمة.
تنفّذ Cassandra العمليات التالية تلقائيًا لتقليل استخدام القرص:
- حذف الرموز المميّزة للمصادقة عند انتهاء صلاحيتها ومع ذلك، قد يستغرق الأمر بضعة أسابيع لإخلاء مساحة القرص التي كانت تستخدمها الرموز المميّزة، وذلك حسب الإعدادات التي ضبطتها. إذا لم يكن الحذف التلقائي كافيًا للحفاظ على مساحة كافية على القرص، يُرجى التواصل مع فريق الدعم للتعرّف على كيفية حذف الرموز المميّزة يدويًا لاستعادة المساحة.
ملاحظة حول ضغط البيانات: بدءًا من الإصدار 4.51.00 من Edge for Private Cloud، ستنشئ عمليات التثبيت الجديدة من Apigee Cassandra مساحات مفاتيح باستخدام استراتيجية الضغط المستوي.
ستحتفظ عمليات تثبيت الإصدارات القديمة من Edge for Private Cloud التي تمت ترقيتها إلى Private Cloud 4.51.00 باستراتيجية الضغط السابقة. إذا كانت استراتيجية الضغط الحالية هي SizeTieredCompactionStrategy، ننصحك بتغييرها إلى LeveledCompactionStrategy، لأنّها توفّر استخدامًا أفضل للقرص.
ملاحظة: عندما تُجري Cassandra عمليات ضغط البيانات، يمكن أن تستهلك قدرًا كبيرًا من دورات وحدة المعالجة المركزية والذاكرة. ومع ذلك، من المفترض أن يعود استخدام الموارد إلى طبيعته بعد اكتمال عمليات الضغط.
يمكنك تشغيل الأمر 'Nodetool compactionstats' على كل عقدة
للتحقّق مما إذا كان الضغط قيد التشغيل. يُعلمك ناتج compactionstats إذا كانت هناك عمليات ضغط معلّقة يجب تنفيذها والوقت المقدَّر لإكمالها.