- 엘라스틱서치는 대용량 데이터 처리가 기본 기능이기 때문에 하드웨어는 밀접한 관련이 있다
- 시스템 설정은 전체적인 클러스터의 성능과 직결됨
10.1 노드 실행환경과 JVM 옵션
- 엘라스틱서치가 실행되어 인스턴스가 만들어지면 하나의 JVM에서 동작
10.1.1 엘라스틱서치 릴리즈 노트
- 엘라스틱서치와 루씬은 매우 밀접한 관계를 맺고 있다
- 엘라스틱서치와 루씬 모두 오픈 소스
- 엘라스틱서치의 개발자가 동시에 루씬 개발자이기도 하다
- 루씬의 기능이 추가될 때마다 엘라스틱서치도 루씬의 새로운 기능을 기반으로 새롭게 릴리즈
10.1.2 실행 시 자바 8 이상을 사용해야 하는 이유
- 자바 언어는 8 버전으로 버전업되면서 언어 차원에서 큰 변화가 생김
- 함수형 프로그래밍을 위해 언어 차원에서 스트림과 람다 표현식이 지원
- 스트림을 이용하면 언어 차원에서 손쉽게 멀티 코어로 함수를 동작
10.1.3 항상 최신 버전의 엘라스틱서치를 사용해야 하는 이유
- 엘라스틱서치는 지금도 매우 빠르게 발전하고 있다
- 버전업이 이뤄질 경우 최대한 하위 호환성을 고려해서 개발이 이뤄지지만 경우에 따라 하위 호환성을 100% 유지한다는 것은 매우 어려운 일
- 버전이 올라갈수록 기존에 제공하던 기능이 폐기 예정되거나 사용법이 바뀔 수도 있기 때문에 반드시 변경사항을 꼼꼼히 확인해야 한다
- 가능한 공식적인 지원 종료가 이뤄지기 전에 새로운 버전으로 업데이트하는 것을 권장
10.1.4 자바 8에서 제공하는 JVM 옵션
- 엘라스틱서치도 JVM 위에서 동작하는 자바 애플리케션으로서 사이트에 별도로 명시되지 않았다면 항상 최신 JVM을 사용 해야한다.
- JVM은 GC 관련 설정 외에도 다양한 옵션을 추가적으로 제공
- [표 10.1]에 자주 사용되는 대표적인 JVM 옵션을 참고
10.1.5 엘라스틱서치에 적용된 JVM 옵션