elasticsearch vesion 업그레이드 하던 절차를 정리해봤다.
사용하던 사전, plugin 세팅하기, jvm.options 등
여기까지 업그레이드할 준비를 한다.
노드가 떨어지고 일정 시간이 지나면 elasticsearch는 자동으로 샤드 재배치, replica를 생성하려고 움직이는데 이를 방지한다.
(물론 바로 재기동하는 경우는 괜찮긴 하나 미연의 방지를 위해서,,,)
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "none"
}
}
기존 버전에 있던 data폴더를 신규 버전의 폴더로 옮겨오기.
샤드가 할당될 수 있도록 다시 풀어주기.
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": null
}
}
GET _cat/health?v=true
위의 명령어 또는 Kibana 모니터링으로 클러스터 상태 확인한다.
샤드가 모두 할당 되어 클러스터 상태가 green이 될때까지 기다린다.
나는 다음과 같은 순서대로 업그레이드를 해주엇다.
1) master 후보가 아닌 노드
2) master 후보 노드 업그레이드
3) master 노드 업그레이드
테스트 하며 주의사항으로는
1) 마스터노드까지 업그레이드 완료 후 Kibana 업그레이드 해준다.(Kibana 먼저하면 에러났음)
2) elasticsearch.yml 파일 주의하기
discovery.seed_hosts에 현재 master node가 없으면, 재기동했을때 독립된 클러스터가 되버린다.(data가 없는 노드여서 그런걸수도...?)