Mengonfigurasi Cassandra

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

Konfigurasi pengumpul sampah

Beralih menggunakan CMS

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

Untuk menggunakan Garbage Collector CMS, tetapkan konfigurasi berikut:

conf_jvm_options_gc_type=cms

Untuk kembali menggunakan G1 Garbage Collector, hapus konfigurasi ini.

Ubah setelan pembersih sampah memori CMS

Apigee menyediakan parameter default untuk Garbage Collector CMS. 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 GC CMS dalam satu baris, yang dipisahkan oleh “\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 memori G1GC

Apigee menyediakan parameter default untuk G1 Garbage Collector. 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 oleh “\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

Gunakan 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 berdasarkan “\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 maksimal 8 GB. Pemeriksaan untuk membatasi ukuran heap hingga 8 GB terdapat 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 pada node:
    apigee-service apigee-cassandra restart
  5. Ulangi langkah-langkah ini pada setiap node Cassandra, satu per satu.

Jenis konfigurasi yang bervariasi

Konfigurasi conf_jvm_options_custom_settings dapat meneruskan parameter yang berbeda ke Cassandra JVM. 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