این سند پیکربندی Cassandra 3.11.X، همراه با Apigee Edge برای نسخههای ابر خصوصی 4.52.02 یا جدیدتر را پوشش میدهد. برای جزئیات در مورد انجام تنظیماتی که در اینجا توضیح داده شده است، به بخش پیوست مراجعه کنید.
پیکربندی زباله جمع کن
به استفاده از CMS تغییر دهید
به طور پیشفرض، Apigee کاساندرا را با جمعآوری زباله G1 ارسال میکند که برای Cassandra 3.X توصیه میشود. با این حال، برای موارد استفاده متنوع و زیرساخت های خود، مانند Edge for Private Cloud، می توانید به جمع آوری زباله CMS تغییر دهید. برای اندازه های پشته بزرگتر از 8 گیگابایت، Apigee قویاً استفاده از G1GC را توصیه می کند.
برای استفاده از CMS Garbage Collector، پیکربندی زیر را تنظیم کنید:
conf_jvm_options_gc_type=cms
برای بازگشت به استفاده از جمعآوری زباله G1، این پیکربندی را حذف کنید.
تنظیمات جمعآوری زباله CMS را تغییر دهید
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
تنظیمات جمع آوری زباله G1GC را تغییر دهید
Apigee پارامترهای پیش فرض را برای جمع آوری زباله G1 ارائه می دهد. این پارامترها زمانی اعمال می شوند که G1GC پیش فرض فعال باشد. اگر به CMS تغییر دهید، این تنظیمات اعمال نمی شود. برای تغییر پارامترهای G1GC، از config 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 را با فضای خالی بیش از 8 گیگابایت کار کنید. بررسیها برای محدود کردن اندازه پشته به 8 گیگابایت در $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" برای config 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
ضمیمه
نحوه تنظیم هر پیکربندی کاساندرا
- فایل لغو پیکربندی کاساندرا را ایجاد یا ویرایش کنید:
vi $APIGEE_ROOT/customer/application/cassandra.properties
- در صورت نیاز خط پیکربندی را اضافه، حذف یا تغییر دهید.
- فایل را ذخیره کنید و مطمئن شوید که متعلق به کاربر «apigee» و قابل خواندن است:
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- سرویس Cassandra را در گره راه اندازی مجدد کنید:
apigee-service apigee-cassandra restart
- این مراحل را روی هر گره کاساندرا یک به یک تکرار کنید.
انواع مختلف پیکربندی
پیکربندی conf_jvm_options_custom_settings
می تواند پارامترهای مختلفی را به Cassandra JVM ارسال کند. پارامترهای مختلف جاوا را در یک پیکربندی واحد ترکیب کنید و با "\n" جدا کنید.
مثال:
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G