
이전 포스트에 이어 Elasticsearch 실습환경 구축을 위해 키바나를 설치해보겠다. 키바나는 엘라스틱 서치의 데이터를 효과적으로 시각화하는 솔루션으로, 데이터를 직관적으로 검색 및 집계할 수 있도록 도와주며 그 결과를 다양한 종류의 그래프로 시각화한다.
server.port: 5601
server.host: localhost
server.publicBaseUrl: "http://localhost:5601"
elasticsearch.hosts: ["http://localhost:9200"]
- server.port: 키바나 백엔드 서버의 포트를 지정
- server.host:
- 키바나 백엔드 서버의 호스트를 지정.
- 외부에서 접근할 수 있게 하려면 서버 IP 주소나 DNS 이름 지정
- server.publicBaseUrl: 사용자가 외부에서 어떤 URL로 키바나에 접근하는지 지정 (/ 문자로 끝나면 안된다.)
- elasticsearch.hosts:
- 엘라스틱서치 쿼리를 전달할 엘라스틱서치의 호스트 URL 목록 지정.
- 이곳에 지정된 호스트는 모두 같은 클러스터 소속이어야 함.
$ bin/kibana
실행에 성공했다면 아래와 같이 웹브라우저에서 http://localhost:5601 로 키바나에 접속할 수 있다.


아래 화면에서 other sample data sets 를 클릭하면 엘라스틱에서 제공하는 공식 샘플 데이터 리스트가 나온다. 필자는 세 종류의 샘플 데이터를 모두 적재했다.

설치한 후, 아래 명령어를 입력해 심볼릭 링크를 만들어 cerebro 를 입력하면 cerebro-0.9.4 를 실행하도록 한다.
$ ln -s cerebro-0.9.4 cerebro
cerebro 를 실행하기 위해 자바가 필요한데,엘라스틱서치 8.4.2 에는 JDK18 이 내장되어 있다. JDK 16 이상에서 cerebro 를 사용하려면 JAVA_OPTS 환경변수에 --add-opens 를 지정해 일부 패키지에 대한 리플렉션 접근을 허용해야 한다.
필자의 경우 JDK17 이 이미 설치되어 있으므로 아래 명령어의 "/Users/elasticsearch/jsk" 를 JDK17이 설치되어 있는 경로로 바꿔주었다.
$ bundled_jvm="/Users/elasticsearch/jdk" JAVA_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.file=ALL-UNNAMED" ./cerebro

실행에 성공했다면 웹브라우저에서 http://localhost:9000 으로 cerebro 에 접속할 수 있다. 아래와 같이 Node address 부분에 http://localhost:9200 (엘라스틱서치 주소) 를 입력하면 엘라스틱서치 클러스터의 상태를 확인할 수 있다.

