2017-01-24 24 views
3

최근에 카산드라 노드 (복제 계수가 3 인 카사ンド라 2.2 클러스터 5 개) 중 하나에서 디스크 장애가 발생했습니다. 해당 노드에서 전체 복구를 수행하는 데 약 1 주 이상 걸렸습니다. 각 노드에는 3/5의 데이터가 포함되며 모든 노드에서 토큰 범위의 3/5가 노드 복구로 복구됩니다. 이제는 수리가 완료되었으므로 점진적 수리 이후 가장 빨리 수리 할 것입니다. 모든 노드에서 nodetool repair -pr을 사용하여 주기적으로 수리를 수행하는 것이 좋은지 궁금합니다 (우리는 2.2에 있으며 증분 복구는 2.2에서 기본이라고 생각합니다).주기적인 카산드라 복구를 권장합니다.

주기적으로 수행하면 수리되지 않은 SStables 만 수리하면되므로 수리하는 데 시간이 덜 걸리기 때문에 좋은 생각이라고 생각합니다. 노드가 힌트 핸드 오프 윈도우 이상으로 다운되었을 수도 있고 아마도 그것에 대해 아무 것도하지 않았을 수도 있습니다.

답변

4

예, 예약 된 증분 복구를 실행하는 것이 좋습니다. gc_grace_seconds 설정에 지정된 시간에 도달하기 전에 모든 노드가 복구 될 정도로 자주 복구를 실행하십시오.

0

또한 증분 수리를 빈번하게 실행하면 월간/주당 한 번처럼 전체 수리 횟수를 줄이는 것이 좋습니다. 증분 수리는 이전에 수리로 표시되지 않은 SSTable을 수리하지만 전체 수리는 SSTable 썩음과 같은보다 포괄적 인 케이스를 관리 할 수 ​​있습니다. datastax에서 참조를 확인하십시오 : https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/opsRepairNodesWhen.html