إعداد Cassandra

يتناول هذا المستند إعدادات Cassandra 3.11.X، المضمّنة في الإصدار 4.52.02 أو الإصدارات الأحدث من Apigee Edge for Private Cloud. يُرجى الرجوع إلى قسم الملحق للاطّلاع على تفاصيل حول تنفيذ الإعدادات الموضّحة هنا.

إعداد جهاز تجميع القمامة

الانتقال إلى استخدام نظام إدارة المحتوى

بشكل تلقائي، تشحن Apigee إلى Cassandra مع جهاز تجميع القمامة G1، وهو أمر يُنصح به لجهاز Cassandra 3.X. ومع ذلك، بالنسبة إلى حالات الاستخدام المتنوّعة والبنية الأساسية الخاصة بك، كما في Edge for Private Cloud، يمكنك اختيار التبديل إلى نظام "جمع القمامة" في نظام إدارة المحتوى (CMS). بالنسبة إلى أحجام الذاكرة التي يزيد حجمها عن 8 غيغابايت، تنصح Apigee بشدة باستخدام G1GC.

لاستخدام ميزة تجميع القمامة في نظام إدارة المحتوى (CMS)، يجب ضبط الإعدادات التالية:

conf_jvm_options_gc_type=cms

للعودة إلى استخدام ميزة تجميع القمامة من G1، عليك إزالة هذه الإعدادات.

تعديل إعدادات أداة تجميع البيانات المهملة في نظام إدارة المحتوى (CMS)

توفّر Apigee معلَمات تلقائية لأداة تجميع المهملات في نظام إدارة المحتوى (CMS). تنطبق هذه المعلمات عندما تستخدم "كاساندرا" نظام إدارة المحتوى. لتغيير هذه المَعلمات، استخدِم رمز الضبط conf_jvm_options_cms_gc_setting_lines. اضبط جميع معلَمات JVM ذات الصلة لـ GC في نظام إدارة المحتوى في سطر واحد، مع الفصل بينها بعلامة "\n".

مثال:

conf_jvm_options_cms_gc_setting_lines=-XX:+UseParNewGC\n-XX:+UseConcMarkSweepGC\n-XX:+CMSParallelRemarkEnabled\n-XX:SurvivorRatio=8\n-XX:MaxTenuringThreshold=1\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:CMSWaitDuration=10000\n-XX:+CMSParallelInitialMarkEnabled\n-XX:+CMSEdenChunksRecordAlways\n-XX:+CMSClassUnloadingEnabled

تعديل إعدادات أداة تجميع البيانات المهملة في G1GC

توفّر Apigee المَعلمات التلقائية لأداة تجميع القمامة G1. تنطبق هذه المَعلمات عند تفعيل G1GC التلقائي. في حال التبديل إلى نظام إدارة المحتوى، لن تنطبق هذه الإعدادات. لتغيير مَعلمات G1GC، استخدِم رمز الإعدادات conf_jvm_options_g1_gc_setting_lines. يمكنك ضبط جميع معلَمات JVM ذات الصلة لـ G1 GC في سطر واحد، مع الفصل بينها بعلامة "\n".

مثال:

conf_jvm_options_g1_gc_setting_lines=-XX:+UseG1GC\n-XX:G1RSetUpdatingPauseTimePercent=5\n-XX:MaxGCPauseMillis=500\n-XX:InitiatingHeapOccupancyPercent=50\n-XX:ParallelGCThreads=8\n-XX:ConcGCThreads=8\n-XX:+ParallelRefProcEnabled\n-XX:MaxTenuringThreshold=1\n-XX:G1HeapRegionSize=32m\n-XX:G1ReservePercent=15

استخدام إعدادات تجميع البيانات المهملة الخاصة بك

لتجاهل جميع الإعدادات المسبقة في Apigee لكل من G1GC وCMS، اضبط الإعدادات التالية:

conf_jvm_options_gc_type=custom

حدِّد جميع إعدادات GC لـ JVM في conf_jvm_options_custom_settings، مع الفصل بين كل إعداد بـ "\n".

مثال:

conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19

تكوين أحجام لقطات العناصر المتعدّدة

تنصح Apigee بشدة بتشغيل Cassandra بدون أن تزيد مساحة الذاكرة عن 8 غيغابايت. يتم إجراء عمليات التحقّق في $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh لتقليل حجم الذاكرة إلى 8 غيغابايت.

لتحديد حجم لقطات لأجزاء من الذاكرة بدون إيقاف عمليات التحقّق يدويًا، يمكنك استخدام الإعداد conf_jvm_options_custom_settings. افصل بين كل إعداد بـ "\n".

مثال:

conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G

ضبط الإعدادات العامة لـ JVM

لإضافة مَعلمات JVM إلى Cassandra، حدِّد جميع إعدادات JVM في سطر واحد مع الفصل بينها بعلامة "\n" ضِمن إعدادات conf_jvm_options_custom_settings.

مثال:

conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures

الملحق

كيفية ضبط أي إعداد من إعدادات Cassandra

  1. أنشئ ملف إلغاء إعداد Cassandra أو عدِّله:
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. أضِف سطر الضبط أو أزِله أو عدِّله حسب الحاجة.
  3. احفظ الملف وتأكَّد من أنّه مملوك وقابل للقراءة من قِبل مستخدم "apigee":
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. أعِد تشغيل خدمة Cassandra على العقدة:
    apigee-service apigee-cassandra restart
  5. كرر هذه الخطوات على كل عقدة Cassandra، واحدة تلو الأخرى.

أنواع مختلفة من الإعدادات

يمكن للإعداد conf_jvm_options_custom_settings تمرير معلَمات مختلفة إلى Cassandra JVM. يمكنك دمج معلَمات Java متنوعة في إعداد واحد وفصلها حسب "\n".

مثال:

conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G