상세 컨텐츠

본문 제목

[TIL] 2024.04.12 ~ 2024.04.15 elasticsearch, logstash 해결되지 않는 에러

[TIL]

by 재호링 2024. 4. 15. 02:01

본문

나는 aws elasticsearch 7.10 버전 도메인을 생성했다.

 

그런 후 logstash를 활용해 내가 저장해놓은

rds에 접근해서 데이터를 elasticsearch에 보내주려고

 

conf 파일을 만들어서 실행했다.

 

명령어로 실행시켜주면 오류가 뜬다

 

찾아보니 elasticsearch 7.10 버전과 logstash 8.13.2 버전은 호환이 안된다고한다.

input 부분은 연결이 잘 되는데
output 부분을 전달할 때 호환성 오류가 떠서 버전을 낮춰줬다.

 

elasticsearch와 버전이 맞는 logstash 7.1.0 버전을 활용해 돌려 보았지만

이번에는 jdbc 오류가 떴다.

logstash의 setup.bat 파일을 뜯어보니

java_home 환경변수쪽이 다른걸 확인하여

환경변수를 OJAVA_HOME으로 새로 만들어 경로를

지정해주니 실행이 되어 산을 하나 넘었다.

 

 

이렇게 산을 하나 넘으니 또 다른 오류가 발생했는데

elasticsearch에 그냥 hostname만 적으면 안되고 포트번호까지 명시해주어야했다.

명시해주고 돌려보았더니 이제 작동은 잘 된다 그런데 이번엔

 

input에 들어있는 jdbc_driver_library가 말썽을 부린다

 

분명 경로까지 잘 지정해서 넣어줬는데 계속 똑같은 오류를 뱉어서

일단 logstash는 보류하고

 

rds에 있는 데이터를 json 파일로 변환해서

kibana를 이용해 데이터를 하나씩 다 넣어줘봤다.

 

데이터를 넣고 조회한 모습이다

 

이렇게보면 데이터를 잘 조회해온다.

 

근데 문제는 나는 nestJS API를 이용해

검색 쿼리를 호출하고 싶은데 검색을 했다하면

에러를 내뱉는다.

 

처음엔 elasticsearch 서버에 접근조차 못해서

오류를 파악해보니 엔드포인트의 ip와 포트번호까지 적어줘야한다는

내용을 발견해 .env를 수정해주고

돌려보았다.

 

그런데 이제는 내가 넣어놓은 index를 찾지 못한다는 에러가뜬다.

 

정말 어쩌면 좋을까 해결하지 못하는 내가 너무 밉다.

 

 

이번 aws elasticsearch를 진행하면서 너무 많은 산들이 있었다.

호환성 문제부터 시작해서 갖가지 오류들

 

모든 산을 넘고 이제 api를 호출하려고 하는데

index안에 있는 field를 활용해서 접근하려고 하는데

왜 index가 존재하지 않는다는건지 알 수 없다.

 

여러레퍼런스를 활용해 보아도 해결되지 않는다,,.

관련글 더보기