Skip to main content

Elasticsearch 7.3 활용해보기 #1 – 설치하기

안녕하세요!
오랜만에 글을 적는거 같습니다. -_- 뭐 항상 오랜만이죠

원래 회사에서 사용하던 검색엔진인 sphinx의 뭔가 오래됨과 실증과 검색 잘안됨(? 내가 못쓰는걸지도…. )의 오류로 인해 이것저것 찾아보다가 Elasticsearch를 써보게 되었습니다.

운영환경은 CentOS7 64bit, mariadb10, openSDK 가 설치되어있는 DB서버입니다.

계획은 이렇습니다.
기존에 사용하던 데이터들은 mariadb에 저장되어있고, 복잡한 관계성과 많은 양의 텍스트로인해 fulltext search…로 검색되게되고 빠른 속도를 기대하기 힘든 상황이 되었습니다. ( union도 쓰고있었어요… 수많은 검색항목들도… )
그래서 검색엔진을 사용하여 기대할만한 성능을 뽑아보는 것을 목표로 합니다.

쓸려면 설치를 해야겠죠… 다음 사이트를 방문합니다.

뭔가 여러가지 제품이 있지만 이중에서 Elasticsearch만 쓸겁니다.
Kibana는 모니터링 및 각종 시각화를 할 수 있다고합니다. 모니터링 용도로 잠시 사용하고 내릴겁니다. 정식버전이 아니라 로그인도 못만들고…. 일단 보안이… 무엇보다 트라이얼 30일은 좀… (-_- )
그리고 Logstash는 데이터 수집기 및 로그를 정형화하여 Elasticsearch에 저장해줍니다. 이것저것 테스트 해봤는데 mariadb에는 jdbc드라이버를 이용하여 접속하여 쿼리를 보내고 데이터를 수집할 수 있더군요. 생각보다 오래걸려서 패스했습니다.

제가 쓰는 OS는 CentOS라서 Elasticsearch 와 Kibana의 RPM을 받아둡니다.

<다운받은 RPM들>

설치는 간단하게~ 다음처럼 설치합니다.

rpm -Uvh elasticsearch-7.3.1-x86_64.rpm 
rpm -Uvh kibana-7.3.1-x86_64.rpm  

Elasticsearch 설치가 끝나면 기본경로는 다음 경로에 설치되게 됩니다.
( 기본적으로 설치되는 다른 프로그램들과 똑같습니다. )
/etc/elasticsearch (환경설정)
/usr/share/elasticsearch (본체 …. )
/var/log/elasticsearch (로그!)

Kibana의 경로는
/etc/kibana

실행하기전에 환경설정이 필요합니다. 없는 설정은 넣어주시고 있는건 맞게 사용 환경에 맞게 고치시기 바랍니다. 아래의 설정은 모든 IP를 다 열어두었음으로 접속할 아이피만 열어서 사용하시기를 권장드립니다.

vi /etc/elasticsearch/elasticsearch.yml

# ---------------------------------- Cluster -----------------------------------
cluster.name: myES

# ------------------------------------ Node ------------------------------------
node.name: myNode
cluster.initial_master_nodes: myNode

network.host: 0.0.0.0
network.bind_host: 0.0.0.0
http.port: 9200

# ---------------------------------- Network -----------------------------------
http.cors.enabled : true
http.cors.allow-origin : "*"
http.cors.allow-methods : OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type, Content-Length

데이터가 저장되는 경로를 바꾸기위해 path.data를 수정할경우 selinux 설정이 필요할 수 있습니다.

여기까지 되었으면 서비스를 시작해봅니다.

service elasticsearch start

실행에 서버 사양에 따라 시간이 좀 걸릴 수도 있으며, 잘못된 설정이나 환경인경우 서버가 실행이 안될수도 있습니다. 이 때는 로그를 보시거나 service elasticsearch status를 통해 간단하게 확인할 수 있습니다.

브라우저를 열고 http://설치한호스트:9200 을 입력해봅니다.

혹시… cluster_uuid가 비어있거나 없으면 노드의 이름이 잘못되었거나 다른 타입의 노드로 등록된 것임으로 설정을 다시 수정해야합니다.
이렇게 서버의 사양이 나오면 정상적으로 실행 된 것입니다.

kibana 설정도 해서 올려봅시다.

vi /etc/kibana/kibana.yml

server.port: 5555 #뭐 꼭 이게 아니라도 됨..... 
server.host: "114.xxx.xxx.xxx" #외부에서 접속할 호스트또는 IP

elasticsearch.hosts: "http://localhost:9200" #elasticsearch의 호스트주소:포트

elasticsearch의 주소만 맞으면 별다른 문제는 없습니다. 이것도 서비스로 실행해줘야합니다.

service kibana start

브라우저로 http://설치한 호스트:5555 로 접속해보고 다음과 같은 관리 사이트가 뜨면 설치가 완료된 것입니다.

오늘은 여기까지입니다. -_-….

2 thoughts to “Elasticsearch 7.3 활용해보기 #1 – 설치하기”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.