پیکربندی Cassandra

این سند پیکربندی Cassandra 4.0.X را که در Apigee Edge برای نسخه‌های Private Cloud 4.53.00 یا جدیدتر گنجانده شده است پوشش می‌دهد. برای جزئیات مربوط به انجام پیکربندی‌های شرح‌داده‌شده در اینجا، به بخش پیوست مراجعه کنید.

پیکربندی زباله‌روب

تغییر به استفاده از «سیستم مدیریت محتوا»

به‌طور پیش‌فرض، Apigee همراه با «جمع‌آوری‌کننده زباله G1» که برای Cassandra 4.X توصیه می‌شود، Cassandra را ارائه می‌دهد. بااین‌حال، برای موارد استفاده متنوع و زیرساخت خودتان، مانند Edge for Private Cloud، ممکن است بخواهید به «جمع‌آوری‌کننده زباله CMS» بروید. برای اندازه‌های پشته بزرگ‌تر از ۸ گیگابایت، Apigee اکیداً توصیه می‌کند از G1GC استفاده کنید.

برای استفاده از «جمع‌آوری‌کننده زباله CMS»، پیکربندی زیر را تنظیم کنید:

conf_jvm_options_gc_type=cms

برای بازگشت به استفاده از «جمع‌آوری‌کننده زباله G1»، این پیکربندی را بردارید.

اصلاح تنظیمات جمع‌آوری زباله CMS

‫Apigee پارامترهای پیش‌فرضی را برای «جمع‌آوری‌کننده زباله CMS» ارائه می‌دهد. این پارامترها زمانی اعمال می‌شوند که 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 پیش‌فرض فعال باشد. اگر به «سیستم مدیریت محتوا» تغییر دهید، این تنظیمات اعمال نمی‌شود. برای تغییر دادن پارامترهای 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 را با حداکثر ۸ گیگابایت فضای پشته‌ای اجرا کنید. بررسی‌هایی برای محدود کردن اندازه پشته به ۸ گیگابایت در $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh وجود دارد.

برای مشخص کردن اندازه پشته خودتان بدون غیرفعال کردن دستی بررسی‌ها، از پیکربندی conf_jvm_options_custom_settings استفاده کنید. هر تنظیم را با «\n» جدا کنید.

مثال:

conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G

پیکربندی تنظیمات عمومی ماشین مجازی جاوا

برای افزودن پارامترهای ماشین مجازی جاوا به Cassandra، همه پیکربندی‌های ماشین مجازی جاوا را در یک خط که با «\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