Elasticsearch Node id 중복이슈

JunMyung Lee·2023년 6월 16일
0

Elasticsearch

목록 보기
18/37

Elasticsearch를 구성하고 나서, 네트워크 부하가 심하거나 특정 이유로 서버를 증설해야하는 경우가 존재한다. 이때, IDC든, 클라우드든 다음과 같은 방식으로 증설을 할 것이다.

  • Docker image 빌드 방식
  • 운영 중인 Elasticsearch Binary를 통째로 tar.gz으로 압축해서 신규 서버에 복사하기

docker든 tar든 이미 운영중인 가운데 복사를 했다는것은 똑같을 것이다. 이때 보통 config.yml cluster_id값을 변경해서 기동을 하게 될것이다.
나머지 클러스터 환경 구성을 똑같을 것이고, 서버 노드의 이름값은 중복이 될 수 없으므로 변경처리 한다.

그럼 정상적으로 동작해야 하는데 동작이 안한다.

증상

노드 ID값이 중복이 되어서 클러스터 구성이 되질 않는다. (즉, 키바나로 모니터링할때 안잡힘 )

원인

/elastic/data/nodes/0 폴더

위 폴더의 위치에 노드의 메타정보와 데이터정보가 기록되는 폴더이다. 우리가 설정파일을 만들고 첫 기동을 시킬때 해당 위치에 설정파일에 관한 이름으로 지정되어 기동하게 된다. 하지만 A라는 노드이름으로 이미 부여된 정보폴더가 생성이 되어있으니까 yml 설정파일을 변경해도 이미 만들어졌으므로 새로 부여가 되질 않는다. 그러므로 복사를 했던 노드이름과 이번에 올릴 노드이름이 같으므로 실패하게 된다.

해결

/elastic/data/nodes/0 폴더를 삭제 후 재기동 처리 한다. 그러므로써 yml을 참조하게 되고 다시금 정상적인 B노드 라는 이름으로 부여받게 된다.

비지니스 관계를 위한 NodeId는 실제 우리가 지정된 이름으로 부여되는것이 아니라 hash값으로 되어 있다고 한다.

0개의 댓글