본문 바로가기
TIL/Elasticsearch

Elasticsearch::Rolling-Restart란?

by DandyU 2023. 1. 2.

Rolling-Restart란?

ES 입장에서는 클러스터에 속한 노드중 한대가 중지되면 그 노드에 속한 프라이머리 샤드나 레플리카 샤드를

다른 노드로 옮기려는 샤드 할당(Shard Allocation) 작업을 수행한다.


이는 클러스터의 특정 노드가 장애상황일 때 이부분에 대한 Fail Over가 동작하는 과정이다.

그러나 순차적 재시작 case에서는 이 과정이 오히려 오버헤드(overhead)로 동작하기 때문에
재시작 전 클러스터의 샤드 할당 기능을 비활성화해 샤드 할당이 다시 일어나는 것을 미연에 방지한다.


Rolling-Restart 사용 이유

  • 검색 중단 없이 하드웨어 교체, 서버/ Elasticsearch 업그레이드 작업을 위해 사용한다.
  • indices의 _close, _open 없이 수정된 설정 정보를 새로 읽기 위해 사용

 

클러스터 라우팅 할당 On/Off 방법

# 클러스터 라우팅 할당 OFF(키바나 콘솔에서 실행)
PUT _cluster/settings
{
    "transient" : {
        "cluster.routing.allocation.enable" : "none"
    }
}

# 클러스터 라우팅 할당 ON(키바나 콘솔에서 실행)
PUT _cluster/settings
{
    "transient" : {
        "cluster.routing.allocation.enable" : "all"
    }
}

 

댓글