2012-03-27 5 views
5

복제 계수 2 인 3 노드 카산드라 클러스터가 있습니다. 노드 중 하나가 새 노드로 교체 되었기 때문에. 그리고 모든 키 스페이스를 복구하기 위해 "노드 도구 복구"를 사용했습니다. 그러나 모든 키 스페이스가 동기화되는지 확인하는 방법을 모르십시오.카산드라 노드 동기화 확인 방법

전에이 기사가 도움이 될 것이라고 생각했지만 조금있었습니다. Cassandra Data Replication problem

카산드라에서 복제 인수> 1 인 키 공간을 확인할 수있는 방법이 있습니까?

고마워요. 다시 nodetool 복구를 실행하고 아주 작은 데이터가 (당신이 마지막으로 실행 된 이후까지 된 모든 노드를 가정) 전송되는 경우

스테판은

답변

5

먼저, 당신은 데이터가 동기화 거의 완벽 것을 알고있다. 로그를보고이 과정에서 전송되는 데이터의 양을 확인할 수 있습니다.

둘째, nodetool cfstats로 쓰기 횟수를보고 모든 노드가 비슷한 쓰기 횟수를 얻고 있는지 확인할 수 있습니다. 쓰기 횟수 값은 Cassandra가 다시 시작될 때마다 다시 설정되므로 동일한 시간에 다시 시작하지 않으면 시간 경과에 따라 얼마나 빨리 증가하는지 확인해야합니다.

최근에 최근에 업데이트 된 값을 확인하고 싶다면 일관성 수준 1에서 값을 읽을 수 있습니다. 항상 최신 버전의 데이터를 얻는다면 복제본이 동기화 될 가능성이 있음을 알 수 있습니다.

일반적으로 복제는 카산드라의 뿌리깊은 부분으로, 사용자가 알아 차리지 않고도 스스로 실패하지는 않습니다. 일반적으로 노드는 문제가 발생한 직후에 표시됩니다. 또한, 당신은 일관성 레벨 하나 또는 모든에서 작성하고 있다고 가정합니다; 더 높은 것이 있으면 복제본이 모두 쓰기를 받았음을 확실히 알 수 있습니다.

1

확인할 방법 중 하나는 nodetool getendpoints입니다. 몇 개의 무작위 키를 전달하고 해당 키를 보유한 끝점을 확인합니다. 복제본이 두 노드에 배치되는지 여부를 표시해야합니다.

관련 문제