วิธีแก้ปัญหาการบดอัดที่สำคัญที่ค้างอยู่ใน Apache Cassandra?


14

ฉันมีคลัสเตอร์ Cassandra แบบหนึ่งโหนดซึ่งปัจจุบันติดอยู่ในกระบวนการบีบอัดหลัก หลังจากดำเนินการnodetool compactมันเริ่มต้นการบดอัดและฉันเห็นไฟล์ tmp-sstable ที่มีขนาด 0 ไบต์ แต่นั่นคือทั้งหมดที่ ไม่มีความคืบหน้าเป็นเวลาหลายชั่วโมง

ฉันหยุดบริการ Cassandra แล้ว แต่หลังจากรีสตาร์ทก็ยังคงมีการบดอัดต่อไปอีกครั้งโดยไม่ดำเนินการ A nodetool compactionstatsแสดงความคืบหน้า 0,00% และเวลาที่เหลืออยู่หกนาที แต่ฉันรอมา 24 ชั่วโมงแล้ว ในระหว่างนี้ฉันหยุดผู้อ่านและนักเขียนทั้งหมดโดยไม่เห็นความแตกต่าง

เวอร์ชันที่ฉันใช้คือ 2.1.2 ฉันได้ลองกับ OpenJDK 7 และกับ Java 7 ของ Oracle แล้ว แต่ก็ไม่ต่างกัน

บันทึกไม่แสดงข้อบ่งชี้ของ OOM หรือข้อยกเว้นหรือคำเตือนอื่นใด

ฉันไม่แน่ใจว่ามันช่วยได้หรือไม่ แต่ตอนนี้ฉันย้ายออกจากคาสซานดราเพราะมันไม่เหมาะกับความต้องการของฉัน ดังนั้นฉันจึงลบข้อมูลจำนวนมากที่ถูกโยกย้าย มีหลายแถวที่มีหลายร้อยถึงไม่กี่พันคอลัมน์ แต่มีแถวจำนวนหนึ่งที่มีคอลัมน์นับล้าน ตอนนี้พวกเขามีหลุมฝังศพจำนวนมากเนื่องจากกระบวนการย้าย (ลบ)

ความช่วยเหลือใด ๆ ในวิธีการแก้ปัญหายินดีต้อนรับ


เพียงแค่ความคิดคุณได้ดู / var / log / syslog หรือที่จะบันทึกสิ่งที่ต้องการไฟล์จำนวนมากเปิด / VM maxmem?
Antony Gibbs

@AntonyGibbs ไม่มีอะไรเช่นนั้น มันเป็นเซิร์ฟเวอร์ที่มีอยู่จริง บริการอื่น ๆ ทำงานได้อย่างราบรื่นข้างคาสซานดรา
mailq

1
คุณได้ตรวจสอบว่ากระบวนการนั้นถูกผูกไว้กับ CPU, I / O ที่ถูกผูกไว้หรือถูกบล็อกรออย่างอื่นหรือไม่?
kasperd

1
การตั้งค่าของเครื่องเสมือนจาวาเปิดตัวคืออะไร? อาจเป็นเซิร์ฟเวอร์ที่มีประสิทธิภาพหากจาวาอินสแตนซ์ถูก จำกัด ที่ 128M จะไม่ได้รับเพิ่มเติม เสียงของอะไรในบันทึกทำให้ฉันคิดว่าขีด จำกัด ของหน่วยความจำ ...
แอนโทนีกิ๊บส์

1
การส่งออกของ ulimit -aจากคอนโซลผู้ใช้ของ Cassandra อาจมีประโยชน์
Antony Gibbs

คำตอบ:


1

ฉันไม่ใช่ผู้เชี่ยวชาญของคาสซานดราแต่คุณลองใช้nodetool หยุดการบดอัดและตั้งค่าขีด จำกัด สำหรับการบีบอัด (setcompactionthreshold เป็น 0) ดังนั้นระบบจะไม่ลองอีกครั้ง


nodetool stop - COMPACTION มันไม่ได้ช่วยอะไรเลย งานยังคงเกิดขึ้น
Jigar Shah

@ JigarShah คำถามเดียวกับ OP หรือไม่ คุณควรถามคำถามใหม่เพื่อดึงดูดคำตอบใหม่ บางทีโซลูชันของฉันอาจไม่ช่วยคุณ แต่ช่วย OP
yagmoth555
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.