open source 설정 및 끄적/elasticsearch

elasticsearch rolling update

나한순간에 2021. 12. 14. 07:52

a. 클러스터 내 샤드 할당 기능 비활성

#kibana
PUT _cluster/settings
{
  "persistent": {
    "cluster.routing.allocation.enable": "none"
  }
}

   "cluster.routing.allocation.enable: none" => 샤드를 재분배 하지 않도록 한다.

   all - (기본값) 모든 종류의 샤드에 샤드 할당을 허용합니다.
   primaries - 기본 샤드에 대해서만 샤드 할당을 허용합니다.
   new_primaries - 새 인덱스의 기본 샤드에 대해서만 샤드 할당을 허용합니다.
   none - 모든 인덱스에 대해 어떤 종류의 샤드 할당도 허용되지 않습니다.

 

b. 프라이머리 샤드와 레플리카 샤드 데이터 동기화

#kibana
POST _flush/synced
---------------------------------------------------------------------------
#bash
#curl -X POST "localhost:9200/_flush/synced?pretty" -H 'Content-Type: application/json'

c. 노드 한 대 업데이트 이후 클러스터 합류 확인

##/etc/yum.repos.d/elasticsearch.repo

[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

-------------------------------------------
# yum clean all
# yum makecache
# yum info elasticsearch

d. 클러스터 내 샤드 할당 기능 활성화

PUT _cluster/settings
{
  "persistent": {
    "cluster.routing.allocation.enable": null
  }
}
-------------------------
curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d
            '{
               "persistent": {
                 "cluster.routing.allocation.enable" : null
                    => null은 해당 설정을 기본값으로 돌리는 의미
               }
            }'

ps. 잘못된 정보 있으면 과감없이 태클 걸어 주세요. 바로 수정하도록 하겠습니다.