개발 이야기/인프라 구축 및 운영
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을 중단하고 바로 재가동하는데도 꽤 시간이 걸리기 때문에 주의가필요합니다.
반응형