개발하는 두부

Elasticsearch Cluster 설정하기

by 뚜부니

00. 실습 환경

Apache 2.0 License 내에서 사용할 수 있는 기능만 포함된 OSS 버전을 활용하여 실습하였습니다.

  • CentOS 7.9
  • Elasticsearch OSS 7.10.2
  • Kibana OSS 7.10.2

여기서는 공식 홈페이지에서 다운로드 받은 후 CentOS 서버로 파일을 옮겨 설치하는 방식으로 환경을 구축하였으며,
다른 방식으로 환경 구축을 하고 싶다면 공식 문서를 참고하시길 바랍니다.

01. Elasticsearch 설치

공식 홈페이지에서 Elasticsearch RPM 버전을 다운로드 받은 후, CentOS 서버에 업로드합니다.

서버에 업로드가 완료되면, 아래 명령어를 통해 elasticsearch를 설치합니다.

sudo rpm --install elasticsearch-oss-7.10.2-x86_64.rpm

02. Elasticsearch Cluster 설정

1번 서버는 10.1.1.1 이라고 하고, 2번 서버는 10.2.2.2라고 가정하고 설정 파일에 대해 설명하겠습니다.

먼저, 1번 서버의 /etc/elasticsearch/elasticsearch.yml을 다음과 같이 설정 후 elasticsearch를 실행합니다.

cluster.name: test
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["10.1.1.1", "10.2.2.2"]
cluster.initial_master_nodes: ["node-1", "node-2"]

그다음, 2번 서버의 /etc/elasticsearch/elasticsearch.yml을 다음과 같이 설정 후 elasticsearch를 실행합니다.

cluster.name: test
node.name: node-2
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.seed_hosts: ["10.1.1.1", "10.2.2.2"]
cluster.initial_master_nodes: ["node-1", "node-2"]

두 서버는 서로 다른 IP를 가진 서버이기 때문에 둘 다 기본 값인 http.port=9200, transport.port=9300을 사용합니다. 만약, 동일 서버에서 두 개의 Elasticsearch를 띄우려고 한다면, 서로 다른 port를 사용해 주세요!

03. Kibana 연결

Elasticsearch Cluster를 Kibana에 연결하기 위해 Kibana 설정을 변경하도록 하겠습니다.

먼저, kibana 설정 파일을 열어줍니다.

sudo vi /etc/kibana/kibana.yml

그다음 서버 외부에서도 접속할 수 있도록 host를 변경하고, elasticsearch를 연결해 줍니다.

server.host: "0.0.0.0"
elasticsearch.hosts: ["http://10.1.1.1:9200", "http://10.2.2.2:9200"]

그 후 Kibana를 실행합니다.

sudo -i service kibana start

 

 

참고

 

블로그의 정보

개발하는 두부

뚜부니

활동하기