[Elastic Stack] Elastic Stack Upgrade
# Elastic Stack Upgrade
1. Full Cluster Restart
- 모든 노드 종료 후, 프로그램을 업그레이드하고 다시 전체 재시작
- 2개 단계 이상의 상위 메이져 버전으로 업그레이드는 불가능
2. Cluster Re-Index
- 2개 단계 이상의 메이져 버전으로 업그레이 하는 경우 사용
- 클러스터를 새로 구성하고 이전 클러스터에서 새로운 클러스터로 데이터를 재색인
3. Rolling Upgrade
- 마이너 버전 간의 업그레이드에 사용
- 마이너 버전 or 메이저의 마지막 버전에서만 사용 가능
- 운영 시스템의 가동 중단 시간이 발생하지 않음
- 클러스터에 있는 노드들을 하나씩 내리고 업그레이드 한 뒤 다시 시작해서 업그레이드하는 방식
- Elasticsearch 노드들 간에는 메이저 버전이 같으면 마이너 버전이 달라도 클러스터 구성이 가능
3-1 메뉴얼
-
Shard Allocation 중지 : 노드를 중단했을때 샤드들이 재배치 되지 않도록 다음 명령을 실행
PUT _cluster/settings { "persistent": { "cluster.routing.allocation.enable": "none" } }
-
Sync Flus 실행 : Primary - Replica 샤드들 간의 세그먼트 저장 상태를 동기화 시켜줍니다.
POST _flush/synced
-
노드 한 개 중단 후, 중단 한 노드 업그레이드 : 설치된 플러그인 모두 제거 후, 새 버전 재설치
-
중단한 노드 재시작 : 아래 명령으로 정상적으로 실행되었는지 확인
GET _cat/nodes
-
Shard Allocation 재가동 : unassigned 된 샤들이 새 노드에 다시 배치되도록 다음 명령을 실행
PUT _cluster/settings { "persistent": { "cluster.routing.allocation.enable": null } }
-
클러스터 상태가 Green 이 될 때 까지 기다립니다. 클러스터 상태는 아래 명령으로 확인이 가능
GET _cat/health
-
클러스터 상태가 Green이 되고 나면 다시 1번 과정 부터 모든 노드들에 돌아가면서 실행을 반복