يصف هذا القسم مهام الصيانة الدورية لنظام 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
هو برنامج لفّ Cassandra nodetool repair،
الذي يُجري عمليات تحقّق إضافية قبل إجراء إصلاح 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
ما إذا كانت هناك عمليات تجميع في انتظار التنفيذ والوقت المقدَّر لإكمالها.