관리 메뉴

가끔 보자, 하늘.

ES Cluster Nodes Rolling Upgrade 절차 정리 본문

개발 이야기/인프라 구축 및 운영

ES Cluster Nodes Rolling Upgrade 절차 정리

가온아 2021. 2. 10. 13:42

가동중인 Elasticsearch cluster nodes를 가동 상태를 유지하며 업그레이드 하는 절차를 정리했습니다. 

 

Rolling upgrades 에 대한 공식 문서는 이 링크를 참고하세요.

 

시작 전 각 node에 최신 버전을 미리 설치 후 config 파일을 설정하여 기존 버전을 종료한 후 바로 실행할 수 있게 준비를 해두면 좀 더 빠르게 업그레이드를 마무리 할 수 있습니다.

 

각 노드를 종료하기 전 allocation이 진행되지 않도록 아래와 같이 allocation 을 disable 시킵니다.

# 노드 종료 전 
PUT _cluster/settings
{
  "persistent": {
    "cluster.routing.allocation.enable": "none",
    "cluster.routing.rebalance.enable": "none"
  }
}

이후 업그레이드를 할 node를 중단하면 Cluster의 상태가 Yellow로 변경됩니다. 

 

해당 노드에서 최신 버전을 재시작 후 allocation을 다시 enable 시킵니다.

# 새로운 버전으로 노드 재시작 후
PUT _cluster/settings
{
  "persistent": {
    "cluster.routing.allocation.enable": "all",
    "cluster.routing.rebalance.enable": "all"
  }
}

그럼 해당 노드의 shards 수가 1부터 점차 증가합니다.

 

이제 클러스터 상태가 다시 Green 이 될 때까지 대기합니다. 

 

위 과정을 node 수 만큼 반복하면 됩니다. 

 

이후 Kibana, logstash 등의 버전을 Elasticsearch 버전에 맞춰서 올립니다.

 

 

allocation을 중단하고 바로 재가동하는데도 꽤 시간이 걸리기 때문에 주의가필요합니다.

반응형