Elasticsearch Intellij Debug & Plugin

JunMyung Lee·2023년 7월 3일
0

Elasticsearch

목록 보기
25/37

우리가 Elasticsearch의 플러그인은 만들 수 있어도 실제 ES의 코드를 수정하고 배포할 일은 없으리라 생각이 든다. 하지만 그래도 기본적으로 ES를 코드로써 구동시킬 줄 알아야 한다는 생각이 들었다.
이번에는 Intellij에서 ES를 Debug로 구동하고, Nori 플러그인을 설치해 보자

여기서는 7.13 버전을 기준으로 한다.

Step 1. Elasticsearch git clone

git clone https://github.com/elastic/elasticsearch.git
git checkout -t 7.13

Step 2. Intellij import elasticsearch project

Step 3. Intellij Add jdk 15

Elasticsearch 7.13을 띄우기 위해서는 JDK 15 버전이 필요하다.

Step 4. Gradle configuration 추가

다른 예제를 보면 터미널에서 gradlew를 통한 명령어로 진행하는데, 그러면 path를 JDK15로 추가해야 한다. (JDK 설치를 Intellij내에서 했기 때문에 ). 기본적으로 사용하는 JDK는 8이나 11인 나로써는 하고 싶지 않은 작업이므로 Intellij내에서 처리하자

Execute Gradle Task 클릭

run --debug-jvm 입력

Step 5. Debug Elasticsearch 기동

import 프로젝트에 보면 기본적으로 Debug Elasticsearch가 만들어져 있다. 해당 옵션을 디버그 모드로 실행하자.


아무런 로그가 출력되질 않는다.

Step 6. Gradle run jvm 기동

Debug Elasticsearch가 기동중인 상태로 추가로 디버그 모드로 기동해 보자


빌드중

Step 7. Debug Handling 확인

크롬의 Elasticsearch Head로 확인한다.

이때 접속을 하려고 하면 ID / PASSWORD를 묻는데 고정값으로 다음과 같이 입력한다.
id: elastic-admin
pwd: elastic-password

명령어 확인 _cluster/stats

Plugin 설치

디버그 옵션이 제대로 된것을 확인했다면 이제 Nori 플러그인을 설치하자

Nori plugin 다운로드

https://www.elastic.co/guide/en/elasticsearch/plugins/7.13/analysis-nori.html

파일 명칭 변경

사이트에서 직접 받는 7.13의 nori plugin은 7.13.4으로 명시되어 있다. 이상태 그대로 넣으면 버전이 틀리다는 예외가 발생한다. Intellij에서 받은 elasticsearch는 7.13.5이므로 마이너 버전을 강제로 변경해야한다.

analysis-nori-7.13.4.jar 파일 이름 변경 -> analysis-nori-7.13.5.jar
plugin-descriptor.properties 내용 변경 7.13.4 -> 7.13.5

파일 복사

맥북 M1 기준으로 다음과 같은 위치에 넣는다. (OS에 따라 다름)

# 폴더 생성
mkdir ${PROEJCT_DIR}/elasticsearch/distribution/archives/darwin-aarch64-tar/build/install/elasticsearch-7.13.5-SNAPSHOT/plugins/analysis-nori

# 파일 복사
LICENSE.txt
NOTICE.txt
analysis-nori-7.13.5.jar
lucene-analyzers-nori-8.8.2.jar
plugin-descriptor.properties

재기동 및 Debug Handling 확인

0개의 댓글