elasticsearch gatewey.recover 항목 설정

마이너 패치 또는 정기 PM 작업 등과 같이 단순히 전체 클러스터를 재기동하는 경우에는 shard reallocation과 같은 데이터 밸런싱 작업이 발생해서는 안된다.

하지만 전체 클러스터를 재기동하면서 일부 노드가 클러스터에 늦게 조인하는 경우, 예기치 않게 밸런싱/recovery 프로세스가 실행되고 이는 DISK I/O와 네트워크 I/O를 소모하게 된다.

이를 방지하기 위해서는 gateway.recover 항목을 적당한 값으로 설정한다.

 

예를 들어 10개의 노드로 구성된 클러스터라면,아래와 같이 설정한다.

  • gateway.recover_after_nodes: 8
  • gateway.recover_after_time: 5m
  • gateway.expected_nodes: 10

8대의 노드가 클러스터에 조인한 후,

5분이 지나면 recovery 프로세스가 실행된다.

5분이 지나지 않았더라도, 10대의 노드가 클러스터에 조인하면 즉시 recovery를 실행한다.

 

References

 

Leave a Reply

Your email address will not be published. Required fields are marked *