במסמך הזה מוסבר על ההגדרה של Cassandra 4.0.X, שכלולה ב-Apigee Edge for Private Cloud בגרסה 4.53.00 ואילך. בקטע 'נספח' מוסבר איך לבצע את ההגדרות המתוארות כאן.
הגדרת מנהל האשפה
מעבר לשימוש במערכת ניהול תוכן
כברירת מחדל, Apigee כוללת את Cassandra עם G1 Garbage Collector, מומלץ ל-Cassandra 4.X. עם זאת, בתרחישי שימוש שונים ובתשתית משלכם, כמו ב-Edge for Private Cloud, תוכלו לעבור לאיסוף האשפה של CMS. לגבי גודל אשכול גדול מ-8GB, מומלץ מאוד להשתמש ב-G1GC ב-Apigee.
כדי להשתמש ב-CMS Garbage Collector, מגדירים את ההגדרות הבאות:
conf_jvm_options_gc_type=cms
כדי לחזור להשתמש ב-G1 Garbage Collector, מסירים את ההגדרה הזו.
שינוי ההגדרות של מנקה האשפה במערכת ניהול התוכן
ב-Apigee יש פרמטרים שמוגדרים כברירת מחדל ל-CMS Garbage Collector. הפרמטרים האלה חלים כש-Cassandra משתמשת ב-CMS. כדי לשנות את הפרמטרים האלה, משתמשים בקובץ התצורה 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
שינוי ההגדרות של ה-garbage collector ב-G1GC
Apigee מספק פרמטרים שמוגדרים כברירת מחדל ל-G1 Garbage Collector. הפרמטרים האלה חלים כש-G1GC שמוגדר כברירת מחדל מופעל. אם עוברים ל-CMS, ההגדרות האלה לא חלות. כדי לשנות את הפרמטרים של 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
הגדרת גדלים של אשכול
ב-Apigee מומלץ מאוד להפעיל את Cassandra עם שטח אשכול של עד 8GB. הבדיקות למגבלת גודל האשפה ל-8GB נמצאות ב-$APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
.
כדי לציין את הגודל של אשכול הנתונים (heap) בלי להשבית את הבדיקות באופן ידני, משתמשים בקובץ התצורה 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
- יוצרים או עורכים את קובץ ההחרגה של הגדרות Cassandra:
vi $APIGEE_ROOT/customer/application/cassandra.properties
- מוסיפים, מסירים או משנים את שורת התצורה לפי הצורך.
- שומרים את הקובץ ומוודאים שהוא בבעלות המשתמש 'apigee' ואפשר לקרוא אותו:
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- מפעילים מחדש את שירות Cassandra בצומת:
apigee-service apigee-cassandra restart
- חוזרים על השלבים האלה בכל צומת של Cassandra, אחד אחרי השני.
סוגים שונים של הגדרות
ההגדרה conf_jvm_options_custom_settings
יכולה להעביר פרמטרים שונים ל-JVM של Cassandra. משלבים פרמטרים שונים של Java בהגדרה אחת ומפרידים ביניהם באמצעות \n.
דוגמה:
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G