Elasticsearch

elasticsearch 다중 Cluster(xPack 적용)

aws-evan 2025. 4. 8. 11:04
반응형

 

 

 

Elasticsearch 클러스터를 Master, Hot Node, Warm Node로 구성하면 성능과 저장 비용을 분리해 최적화할 수 있습니다. Master는 클러스터 관리, Hot Node는 최신 데이터 처리, Warm Node는 오래된 데이터 저장을 담당합니다.

각각에 대한 역할을 구분하여 처리해야 추후에 로그 수집에 대한 안정적인 운영이 가능

 

 

  • 구성도

 

 

  • elasticsearch 설치

https://monta010.tistory.com/entry/Elasticsearch-Cluster-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0

 

Elasticsearch 단일 Cluster 구성하기(xPack X)

Elasticsearch 단일 구성하기 JDK 설치sudo apt updatesudo apt install openjdk-11-jdk -yjava -version ElasticSearch GPG 키 및 APT 저장소 추가wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -sudo sh -c 'echo "d

monta010.tistory.com

 

  • elasticsearch xPack 적용

https://monta010.tistory.com/entry/elasticsearch-Cluster-%ED%99%98%EA%B2%BD

 

elasticsearch 단일 Cluster 환경(xPack 적용)

elasticsearch 설치https://monta010.tistory.com/entry/Elasticsearch-Cluster-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0 Elasticsearch 단일 Cluster 구성하기(xPack X)Elasticsearch 단일 구성하기 JDK 설치sudo apt updatesudo apt install openjdk-11-jdk

monta010.tistory.com

 

 

  • hot-node 구성하기-1
# ======================== Elasticsearch Configuration =========================
# ---------------------------------- Cluster -----------------------------------
# Cluster 이름
cluster.name: evan
# # ------------------------------------ Node ------------------------------------
# Node 이름
node.name: node-1
node.roles: [data, data_hot, remote_cluster_client]
discovery.seed_hosts: ["10.178.0.8"] ##마스터 IP
cluster.initial_master_nodes: ["master"] ##마스터 hostname
#
# ----------------------------------- Paths ------------------------------------
# ---------기본 데이터 및 로그 경로---------
##Data
path.data: /var/lib/elasticsearch
##Log
path.logs: /var/log/elasticsearch/
# ---------------------------------- Network -----------------------------------
# ElasticSearch 실행되는 서버 IP
network.host: 0.0.0.0
# ElasticSearch Port
http.port: 9200
# --------------------------------- Security ----------------------------------
# 보안 설정(xpack)
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.keystore.password: ""
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.truststore.password: ""
  • hot-node 구성하기-2
# ======================== Elasticsearch Configuration =========================
# ---------------------------------- Cluster -----------------------------------
# Cluster 이름
cluster.name: evan
# # ------------------------------------ Node ------------------------------------
# Node 이름
node.name: node-2
node.roles: [data, data_hot, remote_cluster_client]
discovery.seed_hosts: ["10.178.0.8"] ##마스터 IP
cluster.initial_master_nodes: ["master"] ##마스터 hostname
#
# ----------------------------------- Paths ------------------------------------
# ---------기본 데이터 및 로그 경로---------
##Data
path.data: /var/lib/elasticsearch
##Log
path.logs: /var/log/elasticsearch/
# ---------------------------------- Network -----------------------------------
# ElasticSearch 실행되는 서버 IP
network.host: 0.0.0.0
# ElasticSearch Port
http.port: 9200
# --------------------------------- Security ----------------------------------
# 보안 설정(xpack)
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.keystore.password: ""
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.truststore.password: ""
  • warm-node 구성하기
# ======================== Elasticsearch Configuration =========================
# ---------------------------------- Cluster -----------------------------------
# Cluster 이름
cluster.name: evan
# # ------------------------------------ Node ------------------------------------
# Node 이름
node.name: warm-1
node.roles: [data,data_warm, data_cold,remote_cluster_client]
discovery.seed_hosts: ["10.178.0.8"] ##마스터 IP
cluster.initial_master_nodes: ["master"] ##마스터 hostname
#
# ----------------------------------- Paths ------------------------------------
# ---------기본 데이터 및 로그 경로---------
##Data
path.data: /var/lib/elasticsearch
##Log
path.logs: /var/log/elasticsearch/
# ---------------------------------- Network -----------------------------------
# ElasticSearch 실행되는 서버 IP
network.host: 0.0.0.0
# ElasticSearch Port
http.port: 9200
# --------------------------------- Security ----------------------------------
# 보안 설정(xpack)
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.keystore.password: ""
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.truststore.password: ""

 

 

  • 전체 Cluster 조회
curl -u elastic:rlAvyPtXR1VM5gY5Zi8W "http://localhost:9200/_cat/nodes?v"

 

 

반응형