2014-07-01 3 views
0

vnode가 비활성화 된 6 노드 DSE 검색 데이터 센터가 있습니다. 이것은 이전에 2 노드 DC 였고 다른 4 노드는 최근에 추가되었습니다. 이제 DC를 재조정하기 위해 원본 노드 중 하나를 링의 다른 위치로 옮기고 싶습니다. 그러나 해당 노드에는 이동을 수용 할 여유 공간이 충분하지 않습니다. 스트리밍 단계에서 드라이브가 100 %로 채워집니다.여유 공간이 부족한 노드 이동

이동하려는 노드를 바꾸기 위해 새 노드를 추가하는 것은 현재 나에게 불가능합니다. 다른 옵션은 무엇입니까?

  1. 내가 안전하게 *
  2. I를 (정리가 이동을 용이하게하기 위해 충분한 공간을 확보 할 것이라는 희망)를 이동하기 전에 노드에서 nodetool 정리를 실행할 수 있습니다 : 내 DC의 RF가 궁금 2입니다 nodetool removenode를 통해 노드를 안전하게 제거하고 새 노드로 다시 추가 할 수 있습니다.

저는 DSE 4.0.3 (Cassandra 2.0.7)을 사용하고 있습니다. Murmur3Ppartitioner

* 실제로는 this guide을 따르고 있지만 이동이 완료 될 때까지 정리가 이루어지지 않습니다. 이 특정 노드에 대해 6 단계와 7 단계를 교환 할 수 있습니까?

+0

모든 노드의 크기가 같습니까? 그렇지 않은 경우 충분한 공간을 확보하지 못하면 DC의 균형을 맞추기 위해 가장 작은 노드를 링으로 마이그레이션해야 할 수도 있습니다. 공간을 확보하기 위해 마이그레이션하기 전에 백업 및 삭제할 수있는 아카이브 데이터 또는 로그 파일을 확인 했습니까? - 언제든지 nodeTool에서 정리 명령을 실행할 수있는 것 같습니다 --- http://www.datastax.com/docs/1.1/references/nodetool#nodetool – Tasos

+0

노드의 하드웨어가 동일합니다. 노드에 포함 된 유일한 데이터는 sstable 및 로그 파일입니다. 내가 아는 데이터를 보관하고 있는지 확실하지 않습니다. 삭제할 수있는 항목이 있다면 오래된 로그 파일을 몇 개 만들었지 만 여전히 해당 항목을 수용하기에 충분하지 않습니다. _move_ 이전에 _cleanup_을 수행하는 것에 대한 주요 관심사는 _might_가 _ 정리에 의해 삭제 될 파일 중 일부를 스트리밍해야한다는 것입니다. – ir0nman143

+0

단지 관점을 제공합니다 : 대부분의 노드에는 750-900GB로드가 있습니다 (cassandra). 실제 디스크 사용량 (df -h)은 노드 당 1.2 ~ 1.3 tb입니다. 각 노드에는 1.8 tb의 총 공간이 있습니다. 그래서 이동하려는 노드에 500GB 이상의 여유 공간을 남겨 둡니다. 그러나 스트리밍 단계에서 모든 여유 공간이 빠르게 소진되었습니다. – ir0nman143

답변

0

원래 클러스터를 확장 한 후에 정리를 실행 했습니까? 그렇지 않은 경우 정리를 앞면으로 실행하면 데이터 크기를 줄이고 줄일 수 있습니다. 다른 노드에 여유 공간이있는 경우 다른 옵션은 노드를 폐기 한 다음 다시 새 위치로 부트 스트랩하는 것입니다. 그러나 클러스터의 다른 노드에는 폐기를 완료 할 수있는 충분한 공간이 있어야합니다. 마지막 옵션은 노드에 스토리지를 추가 할 수있는 경우 cassandra.yaml에 다른 데이터 폴더를 추가하는 것입니다. DSE/Cassandra는 데이터를 여러 마운트 지점에 분산시킬 수 있습니다.

관련 문제