운영 환경
- 모든 노드는 동일 private network로 묶여 있습니다.
- OS : Contos 7 3대
- master 노드 1대 (172.25.1.10)
- data 노드 2대 (172.25.1.11, 172.25.1.12)
- Java 11
- Elasticsearch 7.17.7
클러스터 구성 전
$ curl localhost:9200
{
"name" : "master",
"cluster_name" : "my-cluster",
"cluster_uuid" : "w4dI8ZN8CTO--P52i2Jbqo",
"version" : {
"number" : "7.17.7",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "48dcaba8cee33438b98iqa7f5c7f56a79fec9z80",
"build_date" : "2022-10-17T15:29:54.167373105Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
클러스터 설정
* Master Node
마스터 노드의 elasticsearch.yml
파일을 아래와 같이 수정합니다.
cluster.name: my-cluster
node.name: master
node.master: true
node.data: false
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 172.25.1.10
http.port: 9200
discovery.seed_hosts: ["172.25.1.10"]
cluster.initial_master_nodes: []
설정 후 Elasticsearch를 재시작합니다.
$ sudo systemctl restart elasticsearch
* Data Node
데이터 노드 2개도 마찬가지로 elasticsearch.yml 파일을 수정해줍니다. 마스터 노드와 다른 것은 discovery.seed_hosts에서 자신을 포함한 모든 데이터 노드와 마스터 노드의 IP를 작성해줍니다.
cluster.name: my-cluster
node.name: data-1
node.master: false
node.data: true
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 172.25.1.11
http.port: 9200
discovery.seed_hosts: ["172.25.1.10", "172.25.1.11", "172.25.1.12"]
cluster.initial_master_nodes: []
cluster.name: my-cluster
node.name: data-2
node.master: false
node.data: true
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 172.25.1.12
http.port: 9200
discovery.seed_hosts: ["172.25.1.10", "172.25.1.11", "172.25.1.12"]
cluster.initial_master_nodes: []
설정 후 Elasticsearch를 재시작합니다.
$ sudo systemctl restart elasticsearch
클러스터 구성 확인
$ curl 172.25.1.10:9200/_nodes/process?pretty=true
{
"_nodes" : {
"total" : 3,
"successful" : 3,
"failed" : 0
},
"cluster_name" : "my-cluster",
"nodes" : {
"FKMA7C3pSK2aUcHzSVbcMQ" : {
"name" : "master",
"transport_address" : "172.25.1.10:9300",
"host" : "172.25.1.10",
"ip" : "172.25.1.10",
"version" : "7.17.7",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "48ddaub8cee32438b91eco7f5c7f56a70fec9e89",
"roles" : [
"ingest",
"master",
"ml",
"remote_cluster_client"
],
"attributes" : {
"ml.machine_memory" : "101201008",
"xpack.installed" : "true",
"transform.node" : "true",
"ml.max_open_jobs" : "512",
"ml.max_jvm_size" : "1073741824"
},
"process" : {
"refresh_interval_in_millis" : 1000,
"id" : 10136,
"mlockall" : false
}
},
"5LzVt76ZRbqnnUjxXkdstA" : {
"name" : "data-1",
"transport_address" : "172.25.1.11:9300",
"host" : "172.25.1.11",
"ip" : "172.25.1.11",
"version" : "7.17.7",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "28dcaee8cee38468b91eca8f5c7f56a70fec9e30",
"roles" : [
"data",
"data_cold",
"data_content",
"data_frozen",
"data_hot",
"data_warm",
"ingest",
"ml",
"remote_cluster_client",
"transform"
],
"attributes" : {
"ml.machine_memory" : "101205291008",
"ml.max_open_jobs" : "512",
"xpack.installed" : "true",
"ml.max_jvm_size" : "1073741824",
"transform.node" : "true"
},
"process" : {
"refresh_interval_in_millis" : 1000,
"id" : 16590,
"mlockall" : false
}
},
"9ExVt83ZRbqnnUjdWkdstV" : {
"name" : "data-2",
"transport_address" : "172.25.1.12:9300",
"host" : "172.25.1.12",
"ip" : "172.25.1.12",
"version" : "7.17.7",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "73dcaee8ccd38468b91kca8f5c1f56a70fec9e38",
"roles" : [
"data",
"data_cold",
"data_content",
"data_frozen",
"data_hot",
"data_warm",
"ingest",
"ml",
"remote_cluster_client",
"transform"
],
"attributes" : {
"ml.machine_memory" : "101205291008",
"ml.max_open_jobs" : "512",
"xpack.installed" : "true",
"ml.max_jvm_size" : "1073741824",
"transform.node" : "true"
},
"process" : {
"refresh_interval_in_millis" : 1000,
"id" : 16590,
"mlockall" : false
}
}
}
}
참고
'Elasticsearch' 카테고리의 다른 글
[Elasticsearch] maximum shards open 에러 (0) | 2022.12.14 |
---|---|
[Elasticsearch] 전체 문서 조회 max_result_window 이슈 (Scroll API) (0) | 2022.10.20 |