본문 바로가기
ELK Stack

Elasticsearch Bootstrap Check 오류로 인한 처리 방법

by 임채훈 2020. 10. 6.

Elasticsearch Bootstrap Check 설정

Elasticsearch Bootstrap Check 절차에 관련하여 개인적으로 찾아보고 설정해준 내용들 간략하게 정리한 내용

 

Elasticsearch 실행 시 아래의 오류가 발생

[1] bootstrap checks failed

또는 Bootstrap 관련 설정을 필요로 할때

 

  • 참조 레퍼런스
 

Bootstrap Checks | Elasticsearch Reference [master] | Elastic

Collectively, we have a lot of experience with users suffering unexpected issues because they have not configured important settings. In previous versions of Elasticsearch, misconfiguration of some of these settings were logged as warnings. Understandably,

www.elastic.co

 

1. Heap size check

초기 및 최대 힙 크기가 서로 다른 JVM을 시작하면 시스템 사용 중 JVM 힙의 크기가 조정될 때 일시 정지 될 수 있습니다. 이러한 크기 조정 일시 중지를 피하려면 초기 힙 크기를 최대 힙 크기와 동일한 상태로 JVM을 시작하는 것이 가장 좋습니다.

  • jvm.options
-Xms [ ]g
-Xmx [ ]g

 

2. File descriptor check

Elasticsearch는 많은 파일 디스크립터 또는 파일 핸들을 사용합니다. 파일 디스크립터가 부족하면 문제가 발생할 수 있으며 대부분 데이터가 손실 될 수 있습니다. Elasticsearch를 실행하는 사용자의 열린 파일 디스크립터 수에 대한 제한을 65,536 이상으로 늘리십시오.

  • /etc/security/limits.conf
elastic hard nofile 65536
elastic soft nofile 65536
root hard nofile 65536
root soft nofile 65536

 

3. Memory lock check

Linux에있는 경우 최대 스레드 수 검사를 통과하려면 Elasticsearch 프로세스가 최소 4096 개의 스레드를 작성할 수 있도록 시스템을 구성해야합니다

  • jvm.options
bootstrap.memory_lock: true

 

4. Maximum number of threads check

Linux에있는 경우 최대 스레드 수 검사를 통과하려면 Elasticsearch 프로세스가 최소 4096 개의 스레드를 작성할 수 있도록 시스템을 구성해야합니다

  • /etc/security/limits.conf
elastic hard nproc 65536
elastic soft nproc 65536
root hard nproc 65536
root soft nproc 65536

 

5. Max file size check

클라이언트 JVM 검사를 통과하려면 서버 VM으로 Elasticsearch를 시작해야합니다

  • /etc/security/limits.conf
elastic hard fsize unlimited
elastic soft fsize unlimited
root hard fsize unlimited
root soft fsize unlimited

 

6. Maximum size virtual memory check

  • /etc/security/limits.conf
elastic hard memlock unlimited
elastic soft memlock unlimited
root hard memlock unlimited
root soft memlock unlimited

 

7. Maximum map count check

sysctl -w vm.max_map_count=262144

 

8. Client JVM check

클라이언트 JVM 검사를 통과하려면 서버 VM으로 Elasticsearch를 시작해야합니다

 

9. Use serial collector check

Elasticsearch와 함께 직렬 수집기를 사용하면 성능이 저하 될 수 있습니다. 직렬 수집기 검사를 통과하려면 직렬 검색기를 사용하여 Elasticsearch를 시작하지 않아야합니다.

  • jvm.options
-XX:+UseSerialGC

 

10. System call filter check

초기 및 최대 힙 크기가 서로 다른 JVM을 시작하면 시스템 사용 중 JVM 힙의 크기가 조정될 때 일시 정지 될 수 있습니다. 이러한 크기 조정 일시 중지를 피하려면 초기 힙 크기를 최대 힙 크기와 동일한 상태로 JVM을 시작하는 것이 가장 좋습니다.

  • elasticsearch.yml
bootstrap.system_call_filter: false

 

11. OnError and OnOutOfMemoryError checks

 

12. Early-access check

 

13. G1GC check

그러나 JDK 1.8_40 이하 버전은 해당 옵션 사용시 인덱스 손상을 유발할 수 있는 문제가 있는것으로 알려짐. (기본 GC 사용)

  • jvm.options
-XX:+UseG1GC

 

14. All permission check

 

15. Discovery configuration check

다음 목록의 옵션 중 한가지를 필수로 설정해주어야 됨

  • elasticsearch.yml
discovery.seed_hosts
discovery.seed_providers
cluster.initial_master_nodes

 

댓글