Elasticsearch Bootstrap Check 설정
Elasticsearch Bootstrap Check 절차에 관련하여 개인적으로 찾아보고 설정해준 내용들 간략하게 정리한 내용
Elasticsearch 실행 시 아래의 오류가 발생
[1] bootstrap checks failed
또는 Bootstrap 관련 설정을 필요로 할때
- 참조 레퍼런스
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
댓글