elasticsearch / / 2023. 6. 5. 06:42

[elasticsearch] this cluster currently has [1000]/[1000] maximum normal shards open 오류

이 오류는 하나의 노드 당 최대 샤드 개수는 1000개인데 1000개 모두 열려있어서 오류가 발생하는 것이다.

공식문서 내용

cluster.max_shards_per_node

클러스터의 primary와 replica 샤드의 총 개수를 제한한다. elasticsearch는 다음과 같이 제한수를 산정한다.

cluster.max_shards_per_node * number of non-frozen data nodes

기본값은 1000개이다.

elasticsearch는 제한을 초과하는 모든 요청을 거절한다.

해결 방법

해결방법은 최대 샤드 개수를 늘리면 된다.

"cluster.max_shards_per_node" 값이 기본 1000으로 설정되어 있었다.

PUT _cluster/settings
{ 
  "persistent": { 
    "cluster.max_shards_per_node": "3000" 
  } 
}

이렇게 3000개로 늘리고 나서 다시 조회를 해보면

GET _cluster/settings

아래와 같이 정상적으로 늘어난 것을 확인할 수 있다.

{
  "persistent" : {
    "cluster" : {
      "max_shards_per_node" : "3000"
    }
  },
  "transient" : { }
}

애플리케이션을 다시 재시작하고 사용하면 된다.

cluster.max_shards_per_node가 기본값보다 높으면 mmap 개수와 open file descriptors도 조정될 필요가 있다.

참고

https://www.elastic.co/guide/en/elasticsearch/reference/current/misc-cluster-settings.html

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유