Mengonfigurasi Cassandra

Dokumen ini membahas konfigurasi Cassandra 4.0.X, yang disertakan dengan Apigee Edge untuk Private Cloud versi 4.53.00 atau yang lebih baru. Lihat bagian lampiran untuk mengetahui detail tentang cara melakukan konfigurasi yang dijelaskan di sini.

Konfigurasi pembersih sampah

Beralih menggunakan CMS

Secara default, Apigee mengirimkan Cassandra dengan Pengumpul Sampah G1, yang direkomendasikan untuk Cassandra 4.X. Namun, untuk berbagai kasus penggunaan dan infrastruktur Anda sendiri, seperti di Edge untuk Cloud Pribadi, Anda dapat memilih untuk beralih ke CMS Garbage Collector. Untuk ukuran heap yang lebih besar dari 8 GB, Apigee sangat merekomendasikan penggunaan G1GC.

Untuk menggunakan CMS Garbage Collector, tetapkan konfigurasi berikut:

conf_jvm_options_gc_type=cms

Untuk kembali menggunakan Pengumpul Sampah G1, hapus konfigurasi ini.

Mengubah setelan pembersih sampah CMS

Apigee menyediakan parameter default untuk CMS Garbage Collector. Parameter ini berlaku saat Cassandra menggunakan CMS. Untuk mengubah parameter ini, gunakan konfigurasi conf_jvm_options_cms_gc_setting_lines. Tetapkan semua parameter JVM yang relevan untuk CMS GC dalam satu baris, dipisahkan dengan “\n”.

Contoh:

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

Mengubah setelan pembersih sampah G1GC

Apigee menyediakan parameter default untuk Pengumpul Sampah G1. Parameter ini berlaku saat G1GC default diaktifkan. Jika Anda beralih ke CMS, setelan ini tidak berlaku. Untuk mengubah parameter G1GC, gunakan konfigurasi conf_jvm_options_g1_gc_setting_lines. Tetapkan semua parameter JVM yang relevan untuk G1 GC dalam satu baris, yang dipisahkan dengan “\n”.

Contoh:

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

Menggunakan setelan GC Anda sendiri

Untuk mengabaikan semua preset Apigee untuk G1GC dan CMS, tetapkan konfigurasi berikut:

conf_jvm_options_gc_type=custom

Tentukan semua setelan GC untuk JVM di conf_jvm_options_custom_settings, dengan memisahkan setiap setelan dengan “\n”.

Contoh:

conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19

Mengonfigurasi ukuran heap

Apigee sangat merekomendasikan pengoperasian Cassandra dengan ruang heap tidak lebih dari 8 GB. Pemeriksaan untuk membatasi ukuran heap menjadi 8 GB ada di $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh.

Untuk menentukan ukuran heap Anda sendiri tanpa menonaktifkan pemeriksaan secara manual, gunakan konfigurasi conf_jvm_options_custom_settings. Pisahkan setiap setelan dengan “\n”.

Contoh:

conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G

Mengonfigurasi setelan JVM umum

Untuk menambahkan parameter JVM ke Cassandra, tentukan semua konfigurasi JVM dalam satu baris yang dipisahkan oleh “\n” untuk konfigurasi conf_jvm_options_custom_settings.

Contoh:

conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures

Lampiran

Cara menetapkan konfigurasi Cassandra

  1. Buat atau edit file penggantian konfigurasi Cassandra:
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. Tambahkan, hapus, atau ubah baris konfigurasi sesuai kebutuhan.
  3. Simpan file dan pastikan file tersebut dimiliki dan dapat dibaca oleh pengguna “apigee”:
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. Mulai ulang layanan Cassandra di node:
    apigee-service apigee-cassandra restart
  5. Ulangi langkah-langkah ini di setiap node Cassandra, satu per satu.

Berbagai jenis konfigurasi

Konfigurasi conf_jvm_options_custom_settings dapat meneruskan parameter yang berbeda ke JVM Cassandra. Gabungkan berbagai parameter Java ke dalam satu konfigurasi dan pisahkan dengan “\n”.

Contoh:

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