[사용환경] #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” } } } |
'Study > ELK|KAFKA' 카테고리의 다른 글
[ELK] Default setting 정보 확인하기 (0) | 2023.01.30 |
---|