클러스터(또는 노드) 재시작하기 - Rolling Restarts
'amigo' 인덱스를 보면,
2. Rolling Restarts Steps
이제 각 단계를 살펴보자.
$ curl -XPUT 'localhost:9200/_cluster/settings?pretty=true' -d { "transient" : { "cluster.routing.allocation.enable" : "none" } }이게 Rolling Restarts 의 핵심이다. 이게 왜 핵심인지는 step을 밟아가며 알아보자.
3) 노드를 shutdown 한다. <----- es5.5에서는 _shutdown 명령어가 _shutdown
API has been removed
(https://www.elastic.co/guide/en/elasticsearch/reference/5.5/cluster-nodes-shutdown.html)
$ curl -XPOST 'localhost:9200/_cluster/nodes/_local/_shutdown'
자, 2)번에서 allocation을 disable 했다. 이러한 설정상태에서 node를 shutdown하면, 아래와같이 shutdown한 node에 있던 shard들은 재배치 되지 않고 'Unassinged' 상태로 남아있다.
바로 위에 언급했던 '불필요한 I/O작업'을 피할 수 있는것이다.
4) 해야하는 작업을 한다 (유지보수/upgrade)
5) node를 다시 구동하고, 클러스터에 합류하는지 확인한다.
$ sudo service elasticsearch start Starting Elasticsearch... Waiting for Elasticsearch...... running: PID:25374
6) 2번에서 disable했던 allocation 옵션을 다시 enable한다.
$ curl -XPUT 'localhost:9200/_cluster/settings?pretty=true' -d { "transient" : { "cluster.routing.allocation.enable" : "all" } }
자 이렇게 되면 'Unassigned' 상태에있던 shard들이 아래와 같이 재배치 될것이다.
3. 결론
'ElasticSearch > 외부자료' 카테고리의 다른 글
[외부] ELASTICSEARCH – 2. SHARD & REPLICA (0) | 2018.04.20 |
---|---|
[외부] Elasticsearch 인덱싱 최적화 (0) | 2018.04.17 |
[외부] Elasticsearch Configuration (0) | 2018.04.13 |
[외부] ElasticSearch: Enable Mlockall in CentOS 7 (0) | 2018.04.13 |
[외부] Elasticsearch로 로그 수집하기, 실전! (0) | 2018.04.12 |