Bagian ini menjelaskan tugas pemeliharaan berkala untuk Cassandra.
Pemeliharaan anti-entropi
Node dering 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).
-
Untuk memeriksa apakah tugas perbaikan pada node telah berhasil diselesaikan, cari entri dengan UUID sesi perbaikan terbaru dalam file
system.log
node dan frasa "session completed successfully". 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
- Dijalankan selama periode workload yang relatif rendah (alat ini menimbulkan beban yang signifikan pada sistem).
- Jalankan minimal setiap tujuh hari untuk menghilangkan masalah yang terkait dengan "penghapusan yang terlupakan" Cassandra.
- Jalankan pada node yang berbeda pada hari yang berbeda, atau jadwalkan sehingga ada beberapa jam antara menjalankannya di setiap node.
- Gunakan opsi
-pr
(rentang partisi) untuk menentukan rentang partisi utama dari node saja.
Jika 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 untuk 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/cassandra
pada
setiap node. Secara default, maksimum 50 file log, masing-masing dengan ukuran maksimum 20 MB, dapat dibuat; setelah batas ini tercapai, log lama akan dihapus saat log yang lebih baru dibuat.
Jika file log Cassandra menggunakan terlalu banyak ruang penyimpanan, Anda dapat mengubah jumlah ruang yang dialokasikan untuk file log dengan mengedit setelan log4j.
- Edit
/opt/apigee/customer/application/cassandra.properties
untuk menetapkan properti berikut. Jika file tersebut tidak ada, buat file tersebut:conf_logback_maxfilesize=20MB # max file size conf_logback_maxbackupindex=50 # max open files
- 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 rutin untuk memastikan setidaknya 50 persen dari setiap disk kosong. Jika pemakaian disk meningkat di atas 50 persen, sebaiknya tambah kapasitas disk untuk mengurangi persentase penggunaan.
Cassandra otomatis melakukan operasi berikut untuk mengurangi penggunaan disk-nya sendiri:
- Penghapusan token autentikasi saat masa berlaku token habis. Namun, mungkin perlu waktu beberapa minggu untuk mengosongkan kapasitas disk yang digunakan token, bergantung pada konfigurasi Anda. Jika penghapusan otomatis tidak memadai untuk mempertahankan kapasitas disk yang cukup, hubungi dukungan untuk mempelajari cara menghapus token secara manual guna memulihkan ruang.
Catatan tentang pemadatan data: Dimulai dengan Edge untuk Private Cloud 4.51.00, penginstalan baru Apigee Cassandra akan membuat keyspace dengan Strategi Pemadatan Bertingkat.
Penginstalan Edge versi lama untuk Private Cloud yang telah diupgrade ke Private Cloud 4.51.00 akan terus mempertahankan strategi pemadatan sebelumnya. Jika strategi pemadatan yang ada adalah SizeTieredCompactionStrategy, sebaiknya ubah ke LeveledCompactionStrategy, yang akan meningkatkan pemanfaatan disk.
Catatan: Saat melakukan pemadatan data, Cassandra mungkin memerlukan sejumlah besar siklus CPU
dan memori. Namun, pemanfaatan resource akan kembali normal setelah pemadatan selesai.
Anda dapat menjalankan perintah 'Nodetool compactionstats'
pada setiap node
untuk memeriksa apakah pemadatan sedang berjalan. Output compactionstats
akan memberi tahu Anda jika ada
pemadatan yang tertunda untuk dijalankan dan perkiraan waktu penyelesaiannya.