Bagaimana cara mengatasi pemadatan besar yang macet di Apache Cassandra?


14

Saya punya satu simpul Cassandra cluster yang saat ini macet dalam proses pemadatan besar. Setelah mengeksekusi nodetool compactitu memulai pemadatan dan saya melihat file tmp-sstable dengan ukuran 0 byte. Tapi itu saja. Tidak ada kemajuan selama berjam-jam.

Saya sudah menghentikan layanan Cassandra, tetapi setelah restart layanan itu melanjutkan pemadatan lagi tanpa kemajuan. A nodetool compactionstatsmenunjukkan kemajuan 0,00% dan sisa waktu enam menit. Tapi saya sudah menunggu 24 jam. Sementara itu saya menghentikan semua pembaca dan penulis tanpa melihat perbedaan.

Versi yang saya gunakan adalah 2.1.2. Saya sudah mencoba dengan OpenJDK 7 dan dengan Oracle Java 7, tetapi tidak ada perbedaan.

Log tidak menunjukkan indikasi OOM atau pengecualian atau peringatan lainnya.

Saya tidak yakin apakah itu bisa membantu, tetapi saya saat ini bermigrasi jauh dari Cassandra karena tidak sesuai dengan kebutuhan saya. Jadi saya menghapus banyak data yang telah dimigrasi. Ada banyak baris dengan beberapa ratus hingga beberapa ribu kolom. Tetapi ada beberapa baris dengan sejuta kolom. Mereka sekarang memiliki banyak batu nisan di dalamnya karena proses migrasi (penghapusan).

Setiap bantuan dalam cara men-debug masalah dipersilahkan.


hanya sebuah ide, apakah Anda telah melihat / var / log / syslog atau di mana akan mencatat sesuatu seperti banyak file terbuka / VM maxmem?
Antony Gibbs

@AntonyGibbs Tidak ada yang seperti itu. Ini adalah server fisik yang dikuasai. Layanan lain berjalan lancar di samping Cassandra.
mailq

1
Sudahkah Anda memeriksa apakah prosesnya terikat CPU, I / O terikat, atau diblokir menunggu sesuatu yang lain?
kasperd

1
apa pengaturan dari mesin virtual java yang diluncurkan? bisa menjadi server yang kuat, jika contoh java terbatas untuk 128M, itu tidak akan mendapatkan lebih banyak. Suara tidak ada dalam log membuat saya berpikir batas ingatan ...
Antony Gibbs

1
keluaran dari ulimit -akonsol Cassandra-user mungkin berguna.
Antony Gibbs

Jawaban:


1

Saya bukan ahli cassandra, tetapi apakah Anda mencoba nodetool menghentikan pemadatan dan menetapkan ambang untuk pemadatan (setcompactionthreshold ke 0), sehingga sistem tidak akan mencoba lagi


nodetool stop - COMPACTION Itu tidak membantu. Pekerjaan masih berlangsung.
Jigar Shah

@JigarShah Pertanyaan yang sama dengan OP? Anda mungkin harus mengajukan pertanyaan baru untuk menarik jawaban baru. Karena mungkin solusi saya tidak membantu Anda, tetapi membantu OP
yagmoth555
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.