brunch

You can make anything
by writing

C.S.Lewis

by 유윤식 Aug 07. 2018

Elasticsearch: Rolling Upgrade

# 롤링업그레이드, # 설정, # 엘라스틱서치, # ELK

Elasticsearch(이하 ES) 는 요새 많이 사용되고 있는 빠른 검색에 용이한 소프트웨어다.


ELK Stack 으로 많이 사용되고 있다.


일전에 Kafka, Spark 와 함께 사용하여 지하철 승하차인원 분석 / packet 데이터 분석 등을 해보았다.


오픈소스 기반의 소프트웨어는 개발자에게 큰 희망(?)이자 큰 일(??)과 같다.

이유는 너무 자주 버젼이 올라가고 거기에 맞춰 공부하고 사용법을 익혀야 하기 때문이다.

ChangeLog 만 봐도 머리가 아프다.


근래에 ES 버젼을 5.1.2 에서 => 5.6.10 으로, 5.6.10에서 => 6.3.2로

업그레이드를 진행했다.


Rolling Upgrade: 무중단 서비스를 위한 업그레이드 방법 및 명칭


긴 설명보다는 문서를 참고해서 업그레이드를 진행했다.

Ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/rolling-upgrades.html


여기서! 먼저 해본 사람으로서 팁을 주자면


1. Master Node, Data Node, Ingest Node 등을 나누어서 운영을 하고 있을텐데! (당연히 그래야 한다!)

2. Data Node, Ingest Node 먼저 업그레이드를 진행하자.

3. 5.1.2 => 5.6.10 으로 Rolling Upgrade 를 진행하자.

4. Kibana, Logstash 등을 사용중이라면 먼저 진행하자.

5. 5.6.10 => 6.3.2 로 Rolling Upgrade 를 진행하자.

6. X-Pack 관련 업그레이드가 있다면 Plugin 업그레이드를 통해서 문제 없도록 하자.

7. 문제가 발생시, 뒤로 갈 수 있도록 Snapshot 을 준비하자.


기본적으로 문서가 가장 정확하다고 할 수 있다.

가장 Graceful 하게 업그레이드를 진행하는 것은 잘 따라서, 잘 하는 것보다도!

한 번에 성공하는 것이다.


마지막 가장 중요한 팁은!

8. ChangeLog를 잘 살피고 Deprecate 또는 사라진 설정에 대해 이해하고 미리 설정파일을 수정하자.


ES 는 앞으로도 더 많은 곳에서 쓰일 수 있는 좋은 S/W 이다.

그 가치를 먼저 이해하는 쪽이 중요하다.

작가의 이전글 Python: Spark-Kafka-Sql(3)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari