본문 바로가기
Big Data/ElasticSearch

[ElasticSearch] ERROR bootstrap checks failed

by Dogf 2021. 9. 1.
반응형

bootstrap checks failed는 ElasticSearch 실행 시 자주 나오는 에러이다.

 

아래와 같이 간단하게 설정 값만 바꿔주면 해결된다.

 

원인과 해결 방법은 다음과 같다.

 

1. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

<원인>


이 경우, 원인은 운영체제에서 기본적으로 최대 파일 디스크립터 크기가 4096으로 설정되기 때문이다.

 

그래서, 에러 로그에도 나와 있듯 elasticsearch 프로세스에 대한 최대 파일 디스크립터가 [4096]로 너무 낮아,

최소 [65535] 이상으로 증가 시켜주어야 한다.

 

해당 값은 아래 명령어를 통해 확인 가능하다.

 

ulimit -Sa

 

<해결방법>

 

먼저, 아래 경로에 있는 limits 설정 파일을 수정한다.

 

vi /etc/security/limits.conf

파일 안 아래 내용을 추가해준다. 

 

* soft nofile 65536
* hard nofile 65536

user_name soft nofile 65536
user_name hard nofile 65536

# user_name 부분에 적용할 계정을 넣어줍니다.

파일을 저장한 후 값이 제대로 들어가지 있는지 아래 명령어를 통해 확인한다.

 

ulimit -Sa

ulimit -Sa 명령 실행

설정을 확인하고, 실행하면 정상적으로 구동된다.

 

2. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

 

<원인>

 

이 경우, 원인은 운영체제에서 기본적으로 mmap 크기가 65530으로 설정되기 때문이다.

 

그래서, 에러 로그에도 나와 있듯 max_map_count값이 65530으로 너무 낮아, 최소 [262,144] 이상으로 증가시켜주어야 한다.

 

<해결방법>

 

먼저, 아래 경로에 있는 sysctl 설정 파일을 수정해준다.

 

vi /etc/sysctl.conf

 

파일 안 아래 내용을 추가해준다. 

 

vm.max_map_count=262144

 

저장 후 다음과 같이 시스템에 적용해준다.

 

sudo sysctl -p

 

값이 제대로 들어가지 있는지 아래 명령어를 통해 확인한다.

 

sysctl -n vm.max_map_count

 

262144

결과가 출력되면 성공적으로 반영된다.

 

위 에러에 대해 설정한 후 ElasticSearch를 실행하면 정상적으로 구동이 잘 된다.

반응형

댓글