Elasticsearch Cluster node 재시작

1. 개요

  1. 고가용성 및 검색속도 안정화를 위해, 노드 2대에서 6대로 ES서버를 늘려야 되는 상황이 발생했다. 클러스터의 노드를 증설 시 순서를 적어놓는다.

  2. ES의 설정 변경/ 서버 가감 등, 관리자의 의도된 서버 재시작에 대한 작업은 Rolling Restart의 방법을 사용하는 것이 좋다.

2. Rolling Restart 순서

  1. ReBalancing Disable

    PUT _cluster/settings
    {
      "transient": {
        "cluster.routing.allocation.enable": "primary"
      }
    }
    

    ES 기본 설정으로 노드의 가감이 일어나게 되면 Shard의 Rebalancing이 일어나게 되어 검색속도 및 색인속도에 영향을 받게 된다.

    아래 옵션 적용 시 노드 증설 시 사드의 리밸런싱을 맏아 리소스를 낭비를 최소화할 수 있다.

  2. 노드 가감 & 재기동

  3. ReBalancing able

    PUT _cluster/settings
    {
      "transient": {
        "cluster.routing.allocation.enable": "all"
      }
    }
    

    리밸런싱을 활성화한다. 리밸런싱 기능이 켜져있지 않다면, Primary Shard가 소실되었을 때 Replica Shard가 존재하더라도 Primary Shard로 승격되는 일이 일어나지 않는다. 또한 신규 색인 시 각 노드간 데이터의 Shard 불균형을 초래하게 된다.