반응형
- OS : Ubuntu 22.04
- ElasticSearch 서버 2대
- 마스터노드 + 데이터노드
- 마스터 노드 : 192.168.0.204
- 데이터 노드 : 192.168.0.207
- 시스템 패키지 업데이트
sudo apt update
sudo apt upgrade -y
- OpenJDK 설치
- Elasticsearch는 Java기반에서 동작하기에 설치 필요
sudo apt install openjdk-11-jdk -y
- 버전 확인
java -version
- Elasticsearch GPG 키 및 저장소 추가
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" > /etc/apt/sources.list.d/elastic-8.x.list'
- 특정 버전 설치
sudo apt update
sudo apt install elasticsearch=8.13.4 -y
- 설정(마스터 노드)
- 클러스터 이름 : my-application
- 테스트용으로 기본 값으로 설정
- 노드 이름 : node-1
- 로그 경로
- 기본 : /var 하위에 존재
- 변경도 가능
- 모든 IP에서 접근 허용 0.0.0.0
- 네트워크 포트(기본값) : 9200
- discovery.seed_hosts: ["192.168.0.204", "192.168.0.207"]
- 노드 대상 정의
- cluster.initial_master_nodes: ["node-1"]
- 마스터 대상 정의
- 클러스터 이름 : my-application
# ======================== Elasticsearch Configuration =========================
# ---------------------------------- Cluster -----------------------------------
cluster.name: my-application
# ------------------------------------ Node ------------------------------------
# Use a descriptive name for the node:
node.name: node-1
node.roles: ["master"]
# ----------------------------------- Paths ------------------------------------
# Path to directory where to store the data (separate multiple locations by comma):
#path.data: /var/lib/elasticsearch
#path.logs: /var/log/elasticsearch
path.data: /data/elasticsearch-data
path.logs: /data/elasticsearch-log
# ----------------------------------- Memory -----------------------------------
# ---------------------------------- Network -----------------------------------
# address here to expose this node on the network:
network.host: 0.0.0.0
http.port: 9200
# --------------------------------- Discovery ----------------------------------
discovery.seed_hosts: ["192.168.0.204", "192.168.0.207"]
cluster.initial_master_nodes: ["node-1"]
# ---------------------------------- xpack -----------------------------------
#action.destructive_requires_name: false
xpack.security.enabled: false
xpack.security.audit.enabled: false
xpack.security.authc.token.enabled: false
xpack.security.http.ssl.enabled: false
xpack.security.transport.ssl.enabled: false
- 설정(데이터 노드)
- 클러스터 이름 : my-application
- 테스트용으로 기본 값으로 설정
- 노드 이름 : node-2
- 로그 경로
- 기본 : /var 하위에 존재
- 변경도 가능
- 모든 IP에서 접근 허용 0.0.0.0
- 네트워크 포트(기본값) : 9200
- discovery.seed_hosts: ["192.168.0.204", "192.168.0.207"]
- 노드 대상 정의
- cluster.initial_master_nodes: ["node-1"]
- 마스터 대상 정의
- 클러스터 이름 : my-application
# ======================== Elasticsearch Configuration =========================
# ---------------------------------- Cluster -----------------------------------
cluster.name: my-application
# ------------------------------------ Node ------------------------------------
# Use a descriptive name for the node:
node.name: node-2
node.roles: ["data"]
# ----------------------------------- Paths ------------------------------------
# Path to directory where to store the data (separate multiple locations by comma):
path.data: /data/elasticsearch-data
path.logs: /data/elasticsearch-log
# ----------------------------------- Memory -----------------------------------
# ---------------------------------- Network -----------------------------------
# address here to expose this node on the network:
network.host: 0.0.0.0
http.port: 9200
# --------------------------------- Discovery ----------------------------------
discovery.seed_hosts: ["192.168.0.204", "192.168.0.207"]
cluster.initial_master_nodes: ["node-1"]
# ---------------------------------- xpack -----------------------------------
#action.destructive_requires_name: false
xpack.security.enabled: false
xpack.security.audit.enabled: false
xpack.security.authc.token.enabled: false
xpack.security.http.ssl.enabled: false
xpack.security.transport.ssl.enabled: false
- 서비스 재시작
systemctl restart elasticsearch
- 클러스터 노드 상태
- 클러스터 정보 : node-1, node-2
- Role
- master = m
- data = d
curl "http://localhost:9200/_cat/nodes?v"
- 추가 노드 추가
- 기존 클러스터 구성에서 추가 노드 추가 가이드
- 설치는 동일한 방식으로 진행하며 elasticsearch.yml 변경
- 기존 클러스터 구성에서 추가 노드 추가 가이드
- 추가 노드 YAML
# ======================== Elasticsearch Configuration =========================
# ---------------------------------- Cluster -----------------------------------
cluster.name: my-application
# ------------------------------------ Node ------------------------------------
# Use a descriptive name for the node:
node.name: node-3
node.roles: ["data"]
# ----------------------------------- Paths ------------------------------------
# Path to directory where to store the data (separate multiple locations by comma):
path.data: /data/elasticsearch-data
path.logs: /data/elasticsearch-log
# ----------------------------------- Memory -----------------------------------
# ---------------------------------- Network -----------------------------------
# address here to expose this node on the network:
network.host: 0.0.0.0
http.port: 9200
# --------------------------------- Discovery ----------------------------------
discovery.seed_hosts: ["192.168.0.204", "192.168.0.207","192.168.0.208"]
cluster.initial_master_nodes: ["node-1"]
# ---------------------------------- xpack -----------------------------------
#action.destructive_requires_name: false
xpack.security.enabled: false
xpack.security.audit.enabled: false
xpack.security.authc.token.enabled: false
xpack.security.http.ssl.enabled: false
xpack.security.transport.ssl.enabled: false
- 서비스 재시작
systemctl restart elasticsearch
- 클러스터 상태 확인
curl "http://localhost:9200/_cat/nodes?v"
반응형
'모니터링' 카테고리의 다른 글
Elasticsearch Xpack 설정 (0) | 2024.07.29 |
---|---|
kibana 설치 (0) | 2024.07.25 |
kibana elasticsearch cluster 연동 (0) | 2024.07.25 |
Fluentd 이미지 사용 (0) | 2024.05.14 |
[Zabbix] Ubuntu Zabbix 구축하기 (0) | 2022.07.15 |
댓글