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:
- Berjalan di setiap node Cassandra (di semua region atau pusat data).
Jalankan pada satu node dalam satu waktu, untuk memastikan konsistensi di semua node di dalam lingkaran. Menjalankan tugas perbaikan pada beberapa {i>node<i} secara bersamaan dapat mengganggu kesehatan Cassandra.
Untuk memeriksa apakah tugas perbaikan pada node berhasil diselesaikan, lihat di
system.log
file untuk entri dengan UUID sesi reparasi terbaru dan frasa "sesi berhasil diselesaikan". 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
- Berjalan selama periode beban kerja yang relatif rendah (alat ini membebankan beban yang signifikan pada sistem).
- Berjalanlah setidaknya setiap tujuh hari untuk menghilangkan masalah yang terkait dengan {i>Cassandra<i} "lupa menghapus".
- Jalankan pada {i>node<i} yang berbeda pada hari yang berbeda, atau jadwalkan sehingga selama beberapa jam sebelum menjalankannya di setiap {i>node<i}.
- Gunakan opsi
-pr
(rentang partisi) untuk menentukan rentang partisi utama dari node saja.
Jika Anda mengaktifkan autentikasi JMX untuk Cassandra,
Anda harus menyertakan nama pengguna dan sandi
saat Anda 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/cassandra
di
setiap {i>node<i}. 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 baru dibuat.
Jika Anda mendapati bahwa file log {i>Cassandra<i} memakan banyak ruang, Anda dapat mengubah jumlah ruang yang dialokasikan untuk file log dengan mengedit pengaturan log4j.
- Edit
/opt/apigee/customer/application/cassandra.properties
untuk mengatur 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 dengan menggunakan perintah berikut:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
Pemeliharaan kapasitas disk
Anda harus memantau pemanfaatan {i>disk Cassandra disk<i} secara teratur untuk memastikan setidaknya 50 persen dari setiap {i>disk<i} secara kosong. Jika penggunaan {i>disk <i}meningkat di atas 50 persen, sebaiknya Anda menambah kapasitas {i>disk<i} untuk mengurangi persentase yang digunakan.
Cassandra secara otomatis melakukan operasi berikut untuk mengurangi pemanfaatan {i>disk <i}nya sendiri:
- Penghapusan token autentikasi saat masa berlaku token habis. Namun, mungkin membutuhkan waktu beberapa minggu untuk mengosongkan ruang {i> disk<i} yang digunakan token, tergantung pada konfigurasi Anda. Jika penghapusan otomatis tidak memadai untuk mempertahankan kapasitas disk yang memadai, hubungi dukungan untuk mempelajari cara menghapus token secara manual spasi.
Pemadatan data. Sebaiknya ubah strategi pemadatan pada keyspace menjadi
LeveledCompactionStrategy
, yang menawarkan strategi pemanfaatan disk yang lebih baikSizeTieredCompactionStrategy
. Lihat Strategi Pemadatan Bertingkat.
Catatan: Saat Cassandra melakukan pemadatan data, diperlukan banyak siklus CPU
dan memori. Namun, pemanfaatan resource harus kembali normal setelah pemadatan selesai.
Anda dapat menjalankan perintah 'Nodetool compactionstats'
di setiap node
untuk memeriksa apakah pemadatan sedang berjalan. Output compactionstats
akan memberi tahu Anda jika ada
adalah pemadatan tertunda yang harus dieksekusi dan perkiraan waktu untuk penyelesaian.