הגדרת Cassandra

מסמך זה עוסק בתצורה של Cassandra 3.11.X, שכלולה ב-Apigee Edge לגרסאות 4.52.02 ואילך של ענן פרטי. יש לעיין בקטע בנספח לקבלת פרטים על ביצוע ההגדרות האישיות שמתוארות כאן.

הגדרות לאיסוף אשפה

מעבר לשימוש במערכת ניהול תוכן

כברירת מחדל, Apigee שולחת את Cassandra באמצעות G1 Garbage Collector, המומלץ עבור Cassandra 3.X. עם זאת, בתרחישי שימוש שונים ובתשתית שלכם, כמו ב-Edge for Private Cloud, תוכלו לעבור ל-CMS Garbage Collector. אם משתמשים בערימה (heap) שגדולים מ-8GB, מומלץ מאוד להשתמש ב-G1GC ב-Apigee.

כדי להשתמש ב-CMS Garbage Collector, צריך לקבוע את ההגדרות הבאות:

conf_jvm_options_gc_type=cms

כדי לחזור להשתמש ב-G1 Garbage Collector, צריך להסיר את ההגדרה הזו.

שינוי ההגדרות של איסוף האשפה במערכת ניהול התוכן

Apigee מספקת פרמטרים שמוגדרים כברירת מחדל ל-CMS Garbage Collector. הפרמטרים האלה חלים כאשר Cassandra משתמשת במערכת ניהול תוכן. כדי לשנות את הפרמטרים האלה, צריך להשתמש בהגדרה conf_jvm_options_cms_gc_setting_lines. מגדירים את כל הפרמטרים הרלוונטיים של JVM ל-CMS 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 Garbage Collector. הפרמטרים האלה חלים כשברירת המחדל של 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

שימוש בהגדרות משלך ל-GC

כדי להתעלם מכל ההגדרות הקבועות מראש של 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

הגדרה של גודלי ערימה (heap)

Apigee ממליצה מאוד להפעיל את Cassandra עם נפח ערימה של 8GB לכל היותר. בדיקות להגבלה של גודל הערימה ל-8GB מתבצעות ב-$APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh.

כדי לציין גודל ערימה משלכם בלי להשבית את הבדיקות באופן ידני, משתמשים בהגדרה 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 יכולה להעביר פרמטרים שונים ל-JVM של Cassandra. לשלב פרמטרים שונים של Java להגדרה אחת ומפרידים באמצעות '\n'.

דוגמה:

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