کاساندرا را پیکربندی کنید

این سند پیکربندی 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 Garbage Collector ارائه می دهد. این پارامترها زمانی اعمال می شوند که 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

ضمیمه

نحوه تنظیم هر پیکربندی کاساندرا

  1. فایل لغو پیکربندی کاساندرا را ایجاد یا ویرایش کنید:
    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. این مراحل را روی هر گره کاساندرا یک به یک تکرار کنید.

انواع مختلف پیکربندی

پیکربندی conf_jvm_options_custom_settings می تواند پارامترهای مختلفی را به Cassandra JVM منتقل کند. پارامترهای مختلف جاوا را در یک پیکربندی واحد ترکیب کنید و با "\n" جدا کنید.

مثال:

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