2014-12-23 2 views
0

일부 IT 정리 후에는 한 열 패밀리에 대해 전체 정리/복원을 수행해야합니다. 우리는 카산드라가 청소하지 않는 데이터가 중복되어 있다고 생각합니다. 깨끗하게하는 것이 가능하고 Cassandra에게 처음부터 단일 열 패밀리를 재구성 할 수 있습니까?Datastax Cassandra 하나의 열 패밀리 제거 및 정리

업그레이드 중에 일부 노드 만 다시 시작하는 것이 아니라 클러스터에 다시 참여하기로 결정했습니다. 이 과정에서 nodetool netstats은 노드가 새로운 데이터 파일을 원래 노드로 전송하는 것을 보여줍니다. 클러스터는 안정적이지만 디스크 사용량은 크게 증가했습니다. 새로운 링으로 마이그레이션 할 생각이지만, 디스크 사용량을 줄일 수 있는지보고 싶습니다. 반지가 안정적이고 수리가 잘되어 있습니다.

cf를 정리하면 디스크 공간 사용량을 1 톤 줄여줍니다.

nodetool cleanup은 크기를 줄이지 않습니다.

새 노드를 클러스터에 가입 시키면 디스크 공간의 약 50 %가 다른 노드로 사용됩니다.

우리는 & & nodetool joinnodetool decommision의 춤을 할 수 있지만, 우리는 반지의 데이터가 일치하고, 수리는 데이터의 일관성에 걸쳐 것을 보여 것을 확인했다

재미 :) 될 수 없습니다 반지.

+0

짧은 답변 : '예'. '중복 데이터'진단으로 이끄는 증상은 무엇입니까? –

+0

질문 - – chrislovecnm

+0

에 대한 편집 - 업데이트를 참조하십시오. 특정 노드가 소유하지 않은 모든 데이터를 정리하기 위해'nodetool cleanup' 명령을 실행할 수도 있습니다. 이 동작은 대개 클러스터에 용량을 추가 할 때 나타납니다. – MUFC

답변

0

새 노드를 추가하고 복구를 성공적으로 실행하면 해당 노드에 할당 된 파티션 범위의 데이터가 새 노드로 스트리밍되었음을 의미합니다.

이 문제가 발생한 후에 nodetool 정리를 실행하면 더 이상 필요하지 않은 다른 노드의 데이터가 정리됩니다.

노드 중 일부에 다른 노드보다 많은 데이터가있는 것으로 보이는 경우 이는 일부 파티션에 더 넓은 행이 있거나 노드가 불균형하기 때문일 수 있습니다. 어떤 데이터 중복 시나리오도 있어서는 안됩니다 (이걸 증명할 수 있다면 합당한 지라 일 것입니다).

OpsCenter에서 균형 조정을 실행하거나 노드 전체에 데이터를보다 고르게 분산시키려는 경우 수동으로 토큰을 다시 할당 할 수 있습니다 (또는 위에서 언급 한 넓은 행을 피하기 위해 데이터 모델을 디자인 할 수 있습니다).

+0

별로 문제가 아닙니다 ... – chrislovecnm

0

nodetool compact를 사용하여 모든 삭제 표시를 정리하고 업데이트 된 모든 레코드를 단일 레코드로 압축합니다.

{nodetool compact}

관련 문제