DBMS/Cassandra

[Cassandra] 노드 임시 중지/영구 제거/재 추가 방법

seungh0 2023. 9. 23. 02:51
반응형

노드 임시 중지 (서버 점검 및 재시작 등)

nodetool drain
  • 이 명령어는 노드를 일시적으로 비활성 상태로 만들어 클러스터에서 안전하게 제거하지 않고도 유지하는 데 사용됩니다. 일반적으로 노드의 유지 보수 작업이나 장애 복구 작업 중에 사용됩니다
  • 노드가 클러스터에서 쿼리 요청을 받지 않도록 하기 위해 읽기 및 쓰기 요청을 중지합니다.
  • 노드가 다른 노드로부터 데이터를 받거나 복제하지 않도록 하기 위해 데이터 전송을 중지합니다.
  • 노드가 클러스터와의 연결을 끊기 전에 남아 있는 쓰기 작업을 완료합니다.
  • nodetool drain 명령어를 실행한 노드는 클러스터에서 제거되지 않고 유지됩니다. 이후 다시 활성화되거나 유지 보수 작업 완료 후 정상적으로 작동할 수 있습니다.

 

노드를 클러스터에서 영구 제거 방법

nodetool decommission
  • 제거할 노드의 데이터 복사본을 다른 노드로 이동시킨다. (이로 인해 데이터의 복제 수준이 유지된다)
  • 데이터 이동이 완료되면 클러스터에서 해당 노드를 제거합니다.

현재 클러스터내에서 살아있는 노드를 제거할땐 nodetool decomission을 죽어 있는 노드를 제거할때는 nodetool removenode

 

노드를 클러스터에 재 추가

  • 데이터/로그를 다 삭제하고 카산드라 실행.
  • nodetool repair 수행
  • 기존 노드들에서 nodetool cleanup 해야지, 리밸런싱 후 남은 찌거기 데이터들이 제거됨.

 

반응형