Study/ELK|KAFKA

[ELK] elasticsearch max_buckets 사이즈 변경

촉촉한초코니 2022. 12. 9. 23:47
728x90
반응형

 

[사용환경]
#elasticsearch-7.11.1
#logstash-7.11.1
#kibana-7.11.1-linux-x86_64

 

Elasticsearch에 한번에 대량의 데이터를 Insert할 경우 기본 메모리 캐시 사이즈를 넘게되어

 too_many_buckets_exception’ 이 발생하게 된다

config값이나 management메뉴에서도 그러한 기본설정 항목을 본적이 없었기에 오류가 발생했을때 무척이나 당황하였다.

 

관련내용을 찾아보니 메모리캐시의 단위를 Bucket이라고 지칭하며

elasticsearch 6버전까지는 Default Buckets size가 10000이었는데

7버전 이후부터는 Default buckets size 는 65535로 변경되었다.

(공식 가이드 문서에서 봤던것으로 기억한다)

기본 버킷사이즈보다 큰 데이터를 넣을 경우 ‘too_many_buckets_exception’ 이 발생하게 된다

 

Elasticsearch에 데이터를 insert할때 메모리 캐시에 담았다가 넣게 되는데

대량으로 insert할 경우 메모리 사용률이 급격히 올라갈 수 있다.

그런 상황을 방지하기 위하여 deault max값이 정해져있다

 

시스템 메모리가 넉넉하다면 버킷사이즈를 확장하여 사용할 수 있지만

너무 크게 잡아둘 경우는 부하 위험이 있기 때문에 적절히 조절하여 사용해야 한다.

적정선이 얼마나 될지는 대량의 데이터가 들어와 봐야 알수있으므로 시스템을 운영하거나

데이터의 양을 조절 해보며 적정선을 찾아야 할 것 같다.

 

#버킷사이즈 확인 방법

* elasticsearch 접속 > Menagement > Dev Tools > Console 창에 커맨드 입력한다.

GET _cluster/settings

 

 

이렇게 실행하게되면 기본일 경우 아무런 값이 나타나지 않는다

기본설정이어서 별도로 표시하지 않는것으로 이해하였다

 

#버킷 사이즈 설정 방법

PUT _cluster/settings
{
     “persistent” : {
             “search.max_buckets” : “100000”
      }
}

 

 

#설정 후 응답값

{
     “persistent” : {
               “search” : {
                    “max_buckets” : “100000”
               }
      }
}

 

728x90
반응형

'Study > ELK|KAFKA' 카테고리의 다른 글

[ELK] Default setting 정보 확인하기  (0) 2023.01.30