Tugas pemeliharaan Apache Cassandra

Bagian ini menjelaskan tugas pemeliharaan berkala untuk Cassandra.

Pemeliharaan anti-entropi

Node ring Apache Cassandra memerlukan pemeliharaan berkala untuk memastikan konsistensi di semua node. Untuk melakukan pemeliharaan ini, gunakan perintah berikut:

apigee-service apigee-cassandra apigee_repair -pr

Apigee merekomendasikan hal berikut saat menjalankan perintah ini:

  • Jalankan di setiap node Cassandra (di semua region atau pusat data).
  • Jalankan pada satu node dalam satu waktu, untuk memastikan konsistensi di semua node dalam ring. Menjalankan tugas perbaikan di beberapa node secara bersamaan dapat mengganggu kondisi Cassandra.

    Untuk memeriksa apakah tugas perbaikan pada node telah berhasil diselesaikan, cari entri dengan UUID sesi perbaikan terbaru dan frasa "session completed successfully" di file system.log node. Berikut adalah contoh entri log:

    INFO [AntiEntropySessions:1] 2015-03-01 10:02:56,245 RepairSession.java (line 282) [repair #2e7009b0-c03d-11e4-9012-99a64119c9d8] session completed successfully"
    Ref: https://support.datastax.com/hc/en-us/articles/204226329-How-to-check-if-a-scheduled-nodetool-repair-ran-successfully
  • Jalankan selama periode workload yang relatif rendah (alat ini memberikan beban yang signifikan pada sistem).
  • Jalankan setidaknya setiap tujuh hari untuk menghilangkan masalah terkait "penghapusan yang terlupa" Cassandra.
  • Jalankan di node yang berbeda pada hari yang berbeda, atau jadwalkan agar ada beberapa jam antara menjalankannya di setiap node.
  • Gunakan opsi -pr (rentang pemartisi) untuk menentukan rentang pemartisi utama node saja.

Jika Anda mengaktifkan autentikasi JMX untuk Cassandra, Anda harus menyertakan nama pengguna dan sandi saat memanggil nodetool. Contoh:

apigee-service apigee-cassandra apigee_repair -u username -pw password -pr

Anda juga dapat menjalankan perintah berikut untuk memeriksa opsi apigee_repair: yang didukung

apigee-service apigee-cassandra apigee_repair -h

Catatan: apigee_repair adalah wrapper di sekitar perbaikan nodetool Cassandra, yang melakukan pemeriksaan tambahan sebelum melakukan perbaikan Cassandra.

Untuk informasi selengkapnya, lihat referensi berikut:

Pemeliharaan file log

Log Cassandra disimpan di direktori /opt/apigee/var/log/apigee-cassandra di setiap node. Secara default, maksimum 50 file log, yang masing-masing berukuran maksimum 20 MB, dapat dibuat; setelah batas ini tercapai, log yang lebih lama akan dihapus saat log yang lebih baru dibuat.

Jika file log Cassandra menggunakan terlalu banyak ruang, Anda dapat mengubah jumlah ruang yang dialokasikan untuk file log dengan mengedit setelan log4j.

  1. Edit /opt/apigee/customer/application/cassandra.properties untuk menetapkan properti berikut. Jika file tersebut tidak ada, buat file:
    conf_logback_maxfilesize=20MB
    # max file size
    conf_logback_maxbackupindex=50 # max open files
  2. Mulai ulang Cassandra menggunakan perintah berikut:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

Pemeliharaan ruang disk

Anda harus memantau penggunaan disk Cassandra secara berkala untuk memastikan setidaknya 50 persen dari setiap disk kosong. Jika penggunaan disk naik di atas 50 persen, sebaiknya tambahkan lebih banyak kapasitas disk untuk mengurangi persentase yang sedang digunakan.

Cassandra secara otomatis melakukan operasi berikut untuk mengurangi penggunaan disknya sendiri:

  • Penghapusan token autentikasi saat masa berlaku token berakhir. Namun, mungkin perlu waktu beberapa minggu untuk mengosongkan ruang disk yang digunakan token, bergantung pada konfigurasi Anda. Jika penghapusan otomatis tidak cukup untuk mempertahankan kapasitas disk yang memadai, hubungi dukungan untuk mempelajari cara menghapus token secara manual untuk memulihkan ruang.
  • Pemadatan data: Mulai Edge for Private Cloud 4.51.00, penginstalan baru Apigee Cassandra membuat keyspace dengan Strategi Pemadatan Bertingkat.

    Penginstalan versi Edge for Private Cloud sebelumnya yang telah diupgrade ke Edge for Private Cloud 4.54.00 akan mempertahankan strategi pemadatan sebelumnya. Jika strategi pemadatan yang ada adalah SizeTieredCompactionStrategy, Apigee merekomendasikan untuk mengubahnya menjadi LeveledCompactionStrategy, yang memberikan pemanfaatan disk yang lebih baik. Untuk mengetahui petunjuknya, lihat Mengubah strategi pemadatan Cassandra.

Catatan: Saat melakukan pemadatan data, Cassandra dapat menggunakan siklus CPU dan memori dalam jumlah yang cukup besar. Namun, pemanfaatan resource akan kembali normal setelah pemadatan selesai. Anda dapat menjalankan perintah 'Nodetool compactionstats' di setiap node untuk memeriksa apakah pemadatan sedang berjalan. Output compactionstats memberi tahu Anda jika ada pemadatan yang tertunda untuk dieksekusi dan perkiraan waktu penyelesaiannya.