2016-09-01 2 views
0

장기간 내 노드가 다운 된 것으로 생각하지 않습니다. 따라서 모든 삭제가 모든 노드에서 복제되어야한다고 생각합니다. 그러나 GCGraceSeconds 내에서 노드 복구를 실행하기 위해 권장 사항을 일반적인 유지 관리로 계속보고 있습니다. 노드 수리가 내 클러스터에서 실행 된 적이 없다고 생각합니다. (몇 달 전에 상속 받았습니다) 걱정할 것이 있나요? 장시간 노드가 다운 된 경우에도 노드 복구를 실행하면 좀비 데이터가 생깁니 까?노드 복구가 GCGraceSeconds 이내에 실행되지 않으면 어떻게해야합니까?

내 주된 질문은 -이 상태에서 벗어나기 위해 내가 할 수있는 일은 무엇입니까? 그래서 일상적으로 뇨툴 수리를 시작할 수 있습니까?

답변

1

Cassandra에는 관계형 데이터베이스에있는 것처럼 '일반적인'삭제가 없습니다. 당신이 무언가를 삭제할 때 카산드라는 데이터를 삭제 표시로하는 '툼 스톤'이라는 기록을 추가합니다. 모든 삭제 표시가 올바르게 복제 되더라도 여전히 파일에 있으며 성능에 영향을 줄 수 있으며 삭제 된 레코드 일부를 다시 '활성화'할 수도 있습니다.

일반적으로 클러스터의 모든 노드에서 '노드 복구'를 정기적으로 실행해야합니다.

documentation에서 세부 정보를 확인할 수 있습니다.

+0

예, 삭제 표시의 작동 방식에 익숙합니다. 이 문제를 해결할 수있는 방법을 묻는 질문을 다시 할 필요가 있습니다. 내가 현재있는 주에서 nodetool 수리를 수행하면 어떤 의미가 될지 모르겠다. – gsteiner

+0

설명서를 올바르게 이해하면 모든 노드가 작동 될 때까지 안전하다는 것을 알 수 있지만 그 보증을 보장 할 수는 없습니다 영원히, 맞지? 그리고 수리를받는 IIRC는 항상 수리하지 않는 것보다 안전합니다 ... – deniszh

+0

내 모든 노드가 몇 번의 롤링 재시작을 제외하고는 거의 항상 작동했던 제 경우에는 정기적으로 수리를 시작하는 것이 안전해야합니까? – gsteiner

관련 문제