2016-10-26 17 views
2

SSD 드라이브에 15 개의 노드와 복제 계수 3이있는 Cassandra 클러스터 (2.1.11)가 있습니다.압축 및 복구 기능이있는 Casandra db에서 대용량 데이터를 제거한 후 디스크 공간이 변경되지 않음

테이블 중 하나는 12TB를 차지합니다. 라이브 디스크 공간과 전체 디스크 공간은 동일합니다. 또한이 숫자는 Ops 센터, JMX 보고서 및 파일 시스템의 실제 폴더 크기에서 동일하다는 것을 확인했습니다.

공간이 부족해 전체 데이터의 35 %가 삭제되었습니다. (각 항목은 104 바이트이므로 수십억 개의 행을 제거했습니다)

그러나 항목을 삭제하는 동안 많은 압축이 진행되는 것을 볼 수 있지만 여유 공간이 없습니다.

그 이후로 우리는 nodetool repair/nodetool clean/restart 프로세스 jvm을 실행했습니다.

아무도 내가 할 수있는 다른 것을 알고 있지 않습니까?

+0

디스크가 부족하면 GC 등급을 낮추십시오. 지금은 낮추고 압축을 트리거 할 수 있습니다. –

+0

고맙습니다. 우리는 1 주일 동안 매일 밤 청소 작업을 진행했습니다. 지금까지 10 일이 지나지 않았습니다. 이 값을 변경하고 프로세스를 다시 시작할 수 있습니다. 그 일이 어떻게 진행되는지 알려줄 것입니다. –

+0

gc_grace_periods를 3 일로 설정하고 복구 프로세스를 시작했습니다. 우리는 프로세스를 다시 시작하지 않았습니다. 나는 확실히 다운 트렌드를 본다. 그러나 그것은 매우 느리다. 지난 3 일 동안 30GB의 공간 만 확보되었습니다. 모든 상자를 다시 시작하거나 전체 복구 프로세스가 완료 될 때까지 기다려야합니까? 수리 과정은 보통 7 ~ 10 일이 걸립니다. –

답변

3

삭제 된 데이터가 생성 된 삭제 표식이 최종적으로 제거되기 전에 gc_grace_seconds를 기다려야한다고 가정합니다. 기한 내에 미리 계획하십시오.

카산드라의 내부 작업을 이해하고 디스크 공간을 삭제하는 것에 대한 내용은 여기 good link입니다. 그리고 아마도 이것을 link 사용자 정의 압축을 수행하는 howto에 대해서도 고려해보십시오.

+0

레벨이 지정되지 않은 상태에서 항목이 디스크를 떠나기 전에 GC grace보다 훨씬 오래 걸릴 수 있습니다. –