티스토리 뷰

Server

Elasticsearch 7.x bundle jdk 사용

터프남 2023. 8. 16. 17:55
728x90

Elasticsearch 설치 시 서버에 설치된 JVM을 사용해도 되지만 권장되는건 번들로 제공되는 JVM이 권장되는 JVM이라고 한다.

엘라스틱서치 7.x부터 기본 배포판에 open jdk가 포함되어 나온다.

 

엘라스틱서치도 JVM 위에서 실행되는 자바 애플리케이션이기 때문에 실행 시 적용될 JVM 옵션들을 튜닝해서 기본 설정으로 제공한다.

엘라스틱서치는 분산 시스템의 특성상 스케일 인/스케일 아웃이 빈번하게 발생할 수 있다.

또한 장애를 복구한다거나 ReIndex 작업에 의해 일어나는 데이터 리밸런싱에 의해 많은 메모리를 사용하기 때문에 전체적인 성능 향상을 위해 다수의 JVM 옵션을 반드시 튜닝해야 한다.

그런데 이런 작업을 엘라스틱서치에서 해당 번들 JVM으로 테스트를 다 하고 사용하기에 최적화된 값으로 배포한 것이다.

 

책 엘라스틱서치 실무가이드에서는 JVM 옵션을 튜닝하는 것은 매우 어려운 작업이며 엘라스틱서치가 수년 동안 개발되어 오면서 각종 문제점들을 지속적으로 보완해오고 다년간의 경험을 바탕으로 분산 시스템에 적합한 JVM 옵션도 대부분 최적화되어 제공된다고 한다.

공식 문서에도 나와있듯이 bundle 로 제공되는 JVM을 사용하길 권고한다.

Elasticsearch is built using Java, and includes a bundled version of OpenJDK from the JDK maintainers (GPLv2+CE) within each distribution. The bundled JVM is the recommended JVM.

To use your own version of Java, set the ES_JAVA_HOME environment variable. If you must use a version of Java that is different from the bundled JVM, it is best to use the latest release of a supported LTS version of Java. Elasticsearch is closely coupled to certain OpenJDK-specific features, so it may not work correctly with other JVMs. Elasticsearch will refuse to start if a known-bad version of Java is used.

If you use a JVM other than the bundled one, you are responsible for reacting to announcements related to its security issues and bug fixes, and must yourself determine whether each update is necessary or not. In contrast, the bundled JVM is treated as an integral part of Elasticsearch, which means that Elastic takes responsibility for keeping it up to date. Security issues and bugs within the bundled JVM are treated as if they were within Elasticsearch itself.

The bundled JVM is located within the jdk subdirectory of the Elasticsearch home directory. You may remove this directory if using your own JVM.

//여기는 번역..!

Elasticsearch는 Java를 사용해 구축되며, 각 배포판에는 JDK 유지 관리자의 번들 버전(GPLv2+CE)인 OpenJDK가 포함되어 있습니다. 번들로 제공되는 JVM이 권장되는 JVM입니다.  
  
자체 Java 버전을 사용하려면 ES\_JAVA\_HOME 환경 변수를 설정하세요. 번들 JVM과 다른 버전의 Java를 사용해야 하는 경우, 지원되는 LTS 버전의 Java 최신 릴리스를 사용하는 것이 가장 좋습니다. Elasticsearch는 특정 OpenJDK 특정 기능과 밀접하게 결합되어 있으므로 다른 JVM에서는 제대로 작동하지 않을 수 있습니다. 알려진 불량 버전의 Java가 사용되는 경우 Elasticsearch는 시작을 거부합니다.  
  
번들로 제공되는 JVM이 아닌 다른 JVM을 사용하는 경우, 보안 문제 및 버그 수정과 관련된 공지에 대응할 책임이 있으며 각 업데이트가 필요한지 여부를 직접 결정해야 합니다. 이와는 대조적으로, 번들로 제공되는 JVM은 Elasticsearch의 필수적인 부분으로 취급되며, 이는 Elastic이 이를 최신 상태로 유지할 책임이 있다는 것을 의미합니다. 번들 JVM 내의 보안 문제와 버그는 마치 Elasticsearch 자체 내에 있는 것처럼 취급됩니다.

그럼에도 불구하고 자체 JVM을 사용하길 원한다면 ES_JAVA_HOME 이라는 환경변수를 서버에 설정해두면 된다.

참고

https://www.elastic.co/guide/en/elasticsearch/reference/7.17/install-elasticsearch.html#jvm-version

 

Installing Elasticsearch | Elasticsearch Guide [7.17] | Elastic

Installing Elasticsearchedit Hosted Elasticsearchedit You can run Elasticsearch on your own hardware or use our hosted Elasticsearch Service that is available on AWS, GCP, and Azure. Try the Elasticsearch Service for free. Installing Elasticsearch Yourself

www.elastic.co

 

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함