이 오류는 하나의 노드 당 최대 샤드 개수는 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
반응형