상세 컨텐츠

본문 제목

[Elastic Search] ELK 로컬환경에 설치하기, 버전 변경하기 (for MAC)

Elastic Search

by gyu.ree 2023. 4. 23. 10:59

본문

검색 시스템을 구축하기 위해 먼저 ELK Stack 환경을 구성하려고한다. 

(ELK는 Elastic Search와 Logstash, Kibana를 앞글자만 딴 단어이다.)

 

스럽 ELK Stack 구성
Java 11
Elastic Search 7.0
Logstash 7.0
Kibana 7.0

 

Elasticsearch는 검색 및 분석을 위한 오픈 소스 분산 검색 엔진이고, Kibana는 Elasticsearch로부터 수집된 데이터를 시각화하고 분석하는 데 사용되는 오픈 소스 도구이다.

Elasticsearch와 Kibana와 함께 사용하면 데이터 수집, 분석 및 시각화를 효과적으로 수행할 수 있다.

Logstash는 데이터 처리 파이프라인을 구축하기 위해 사용되며, 수집기능을 해준다. 

 

이러한 도구들을 함께 사용하면 데이터 처리와 분석을 통해 중요한 정보를 추출하고 이해하기 쉬워진다!

스럽에서는 Logstash를 통해 DB에 저장된 데이터를 ElasticSearch에 저장하고 있다.

Logstash는 기본적으로는 DB 연동하여 인덱스를 자동 생성하는 기능은 기본적으로 내장되어 있지는 않지만 input 플러그인 제공한다. 이를 통해 JDBC 사용하여 DB 연동하여 데이터를 수집하고있다. 이렇게 수집한 데이터를 일정 간격으로 Elasticsearch 전송하면 Elasticsearch에서는 자동으로 인덱스를 생성하게 되는데, 이를 이용해 DB elastic search 있는  데이터를 동기화한다.

 

 

이제 로컬환경에 ELK 이 3가지를 모두 설치해보자 

현재 로컬환경에는 Elastic search 7.17.4 버전이 설치되어있고, 이를 삭제 후 7.0.0 버전으로 재설치하는 작업을 진행했다.

새롭게 설치하는 사람은 삭제하는 과정은 생략하면 된다 .

 

1. Elastic Search 7.0.0 버전 설치하기 

1.1 기존에 설치된 Elastic Search 삭제

재설치를 하기 전에 기존에 사용하던 7.27.4 버전을 삭제해준다. 기존에 brew를 통해 설치했으므로 삭제도 brew를 통해서 진행했다.

다시 설치할 때는 homebrew를 사용하지 않았으니, 필요하신 분들은 아래 링크 참고하면 된다.

 

 

Install Elasticsearch on macOS with Homebrew | Elasticsearch Guide [7.17] | Elastic

Install Elasticsearch on macOS with Homebrewedit Elastic publishes Homebrew formulae so you can install Elasticsearch with the Homebrew package manager. To install with Homebrew, you first need to tap the Elastic Homebrew repository: Once you’ve tapped t

www.elastic.co

 

- brew에 설치된 목록을 확인 후 삭제한다.

 

brew list 
brew uninstall elasticsearch-full

 

 

성공적으로 삭제된 모습

관련 파일들은 수동으로 삭제해주었다.

 

1.2 Elastic Search 7.0.0 버전 설치

- 아래 링크를 통해서 7.0.0 버전을 설치한다. (본인이 사용할 버전에 맞게 설치해주면 된다.)

https://www.elastic.co/kr/downloads/past-releases/elasticsearch-7-0-0

 

Elasticsearch 7.0.0

 

www.elastic.co

 

 

- 사용중인 OS를 선택하여 다운로드 받는다. 

 

 

 

- 다운로드 후 원하는 경로로 이동시켜 압축 해제한다.

 

 

 

** "확인되지 않은 개발자의 MAC 앱 열기" 오류가 생길 경우 참고 

 

확인되지 않은 개발자의 Mac 앱 열기 mac OS Catalina 카탈리나

mac OS Catalina 업데이트 후 기존에 사용하던 것들이 안되는 것이 많았습니다. 페이스북 로그인 SDK 교체를 위해서 오랜만에 안드로이드 스튜디오로 빌드를 했습니다. 그런데 이상한 팝업이 계속 나

minmong.tistory.com

 

 

- elasticsearch-x.x.x 폴더가 생기면 정상적으로 설치가 된 것이다 !! 구성은 아래와 같다. 

 

1.3 Elastic Search 7.0.0 버전 실행

- elasticsearch-x.x.x 경로에서 터미널 창을 켜고 아래 명령어를 실행한다.

./bin/elasticsearch

 

 

- elastic search는 기본적으로 9200 포트를 사용한다. localhost:9200 포트로 접속하면 7.0.0 버전으로 설치된 것을 확인할 수 있다.

 

 

2. Kibana 7.0.0 버전 설치하기 

2.1 기존에 설치된  Kibana 삭제

- brew에 설치된 목록을 확인 후 삭제한다.

brew list
brew uninstall kibana-full

 

 

2.1 Kibana 7.0.0 설치 

- 아래 링크를 통해서 7.0.0 버전을 설치한다. (본인이 사용할 버전에 맞게 설치해주면 된다.)

https://www.elastic.co/kr/downloads/past-releases/kibana-7-0-0

 

Kibana 7.0.0 | Elastic

 

www.elastic.co

 

 

- 사용중인 OS를 선택하여 다운로드 받는다. 

 

 

 

- 다운로드 후 원하는 경로로 이동시켜 압축 해제한다.

 

 

 

- elastic search와 유사하게 정상적으로 설치되면 kibana-x.x.x 폴더가 생기고 구성은 아래와 같다! 

 

 

 

- kibana-x.x.x 경로에서 터미널 창을 켜고 명령어 실행한다.

 

./bin/kibana

 

 

** 오류 해결

[03:27:58.467] [fatal][root] { Error: getaddrinfo ENOTFOUND localhost

    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:57:26)

  errno: 'ENOTFOUND',

  code: 'ENOTFOUND',

  syscall: 'getaddrinfo',

  hostname: 'localhost' }

 

이런 오류가 날 경우 config 경로에 kibana.yml 설정 파일을 수정해준다. (elasticsearch와 연결해서 사용하기위해 필요하다. 버전에 따라서 url, hosts 등의 사용이 다른 듯하다. )

 

server.host: "0.0.0.0"

elasticsearch.hosts: ["http://localhost:9200"] 추가

 

 

** 오류 해결

("Request error, retrying HEAD http://localhost:9200/ => getaddrinfo ENOTFOUND localhost localhost:9200 " 

오류가 발생해서 hosts 파일을 수정해줬다.  (이전에 host를 추가하면서 localhost 부분이 주석처리 된 것이 문제였다. )

 

* hosts 파일 수정하는 방법 

 

MAC(맥북)에서 hosts파일을 수정하는 방법

Windows에서 와 같이 MacOS에서도 hosts파일을 수정할 수 있습니다. hosts파일이란? hosts 파일은 운영 체제가 호스트 이름을 IP 주소에 매핑할 때 사용하는 컴퓨터 파일이다. 이 hosts 파일은 플레인 텍스

blog.stories.pe.kr

 

2.3 Kibana 7.0.0 실행

- 키바나의 디폴트 포트는 5601이다. localhost:5601로 접속하면 정상 실행된다.  (devtool 기능을 주로 사용할 예정이다! )

 

 

 

3. Logstash 7.0.0 버전 설치하기 

3.1 Logstach 7.0.0 설치 

(동일 과정 생략)

https://www.elastic.co/kr/downloads/past-releases/logstash-7-0-0

 

Logstash 7.0.0 | Elastic

 

www.elastic.co

 

 

단, lostash는  conf 파일과 함께 실행되어야한다 ! 

 

logstash config 경로에 logstash-sample.conf 파일이 있다. 말그대로 sample 파일인데 임시로 수정해서 Logstash와 함께 실행할 수 있다. conf 파일은 index별로 생성해야하고, 추후에 필요한 파일은 추가 후 logstash와 함께 실행하면 된다. 이후에 따로 포스팅 할 예정이다.

 

- 실행 명령어이다.

 

./bin/logstash -f [conf 파일 경로]

 

** 오류 해결:  

Unrecognized VM option 'UseConcMarkSweepGC'

자바 버전 관련 문제라고한다. 11로 바꿔주니 해결되었다.

 

 

맥북 JDK 버전 변경하기

이번에는 맥북에서 JDK 버전을 변경하는 방법 및 JDK 설치 방법에 대해 정리할 것이다. 현재 내 맥북에 설치된 jdk 버전은 11이다. 1 java --version cs jdk를 11에서 17로 버전을 변경해볼 것이다. 1. 현재

backendcode.tistory.com

참고하여 환경 변수 설정해 준 후 source ~/.bash_profile  명령어로 수정사항을 반영하자.

 

 

여기까지가 ELK의 기본적 설치 과정이다 ! !

3가지 도구를 잘 활용하면 로그 분석, 애플리케이션 모니터링, 검색 엔진 등에 유용하게 사용할 수 있다.

 

+ 4. Plugin 설치하기

엘라스틱 서치에서는 다양한 기능을 가진 플러그인을 지원한다. 스럽에서는 형태소 분석을 위해 노리 한글 형태 형태소 분석기를 사용한다.

 

참고 링크

https://esbook.kimjmin.net/06-text-analysis/6.7-stemming/6.7.2-nori

 

 

6.7.2 노리 (nori) 한글 형태소 분석기 - Elastic 가이드북

이번 장에서는 elasticsearch가 데이터를 저장하는 색인 과정에서 처리하는 수많은 작업들에 대해 알아보았습니다. 텍스트 분석 및 텀의 개념과, 데이터 분석에 사용되는 애널라이저, 토크나이저,

esbook.kimjmin.net

 

플러그인 설치는 elastic search만 잘 설치되어있다면 간단하다.

- 해당 경로에서 위 명령어를 입력한다.

 

/bin/elasticsearch-plugin install analysis-nori

 

 

- 성공적으로 설치되면 엘라스틱 서치 경로에 plugins 폴더가 생성된다. (직접 zip 파일로 다운받아도 가능하다. )

 

 

관련글 더보기

댓글 영역