2012-06-11 2 views
4

2 개의 노드가있는 카산드라 클러스터가 있습니다. NetworkTopologyStrategy를 사용하고 있습니다. Cassandra에서 keyspace의 복제 인수를 2로 늘리려고했습니다. 다음 단계를 수행했습니다. UPDATE KEYSPACE 데모 with strategy_options = {DC1 : 2, DC2 : 2}; 양쪽 노드에서 그런 다음 두 노드 모두에서 노드 검사 복구를 실행했습니다. 그런 다음 데이터베이스의 행과 열 수를 계산하기 위해 Hector 코드를 실행했습니다. 다음과 같은 오류가 나타납니다. 사용할 수없는 예외 ./nodetool -h ip_address 링 두 노드 소유권이 모두 0 % 인 것으로 나타났습니다. 어떻게 해결해야하는지 알려주세요.카산드라 노드 소유권이 0.00 %입니다.

답변

1

"두 노드"라고 말하면 전략 옵션에서 제안한 것처럼 두 개의 데이터 센터가 아니라 두 개의 노드가 있음을 의미합니다. 기본적으로 모든 노드가 실패 할 가능성이 있기 때문에 {DC1 : 2, DC2 : 2}를 지정하면 최소한 4 개의 노드 (복제 요소를 충족시키기 위해 각 DC에 2 개)가 필요합니다.

최소한의 카산드라 클러스터에는 최소 3 개의 노드가 있어야합니다.이 경우 2의 RF는 시스템을 중단하지 않고 하나의 노드가 다운 될 수있게합니다. 단일 클러스터 (두 개의 데이터 센터가 아닌)가있는 것처럼 들리므로 실제로 필요한 것은 NetworkTopologyStrategy 대신 SimpleStrategy를 사용하여 하나의 노드 (총 3 개) (RF = 2)입니다.

관련 문제