建立叢集
實驗機器有限,我們在同一台機器上建立三個 ES 執行個體來建立叢集,分别明确指定了這些執行個體的
http.port
和
transport.port
。
discovery.seed_hosts
明确指定執行個體的端口對測試叢集的高可用性很關鍵。
如果後期有新節點加入,新節點的
discovery.seed_hosts
沒必要包含所有的節點,隻要它裡面包含叢集中已有的節點資訊,新節點就能發現整個叢集了。
叢集配置預覽
分别進入
es-7.3.0-node-1
、
es-7.3.0-node-2
es-7.3.0-node-3
的檔案夾,
config/elasticsearch.yml
設定如下:
# es-7.3.0-node-1
cluster.name: search-7.3.2
node.name: node-1
node.master: true
node.data: false
node.ingest: false
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
cluster.initial_master_nodes: ["node-1"]
# es-7.3.0-node-2
cluster.name: search-7.3.2
node.name: node-2
node.master: true
node.data: true
node.ingest: false
network.host: 0.0.0.0
http.port: 9201
transport.port: 9301
discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
# es-7.3.0-node-3
cluster.name: search-7.3.2
node.name: node-3
node.master: true
node.data: true
node.ingest: false
network.host: 0.0.0.0
http.port: 9202
transport.port: 9302
discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
node-1 節點僅僅是一個 master 節點,它不是一個資料節點。
經過上面的配置,可以通過指令
egrep -v "^#|^$" config/elasticsearch.yml
檢查配置項。
先啟動 node-1 節點,因為它設定了初始主節點的清單。這時候就可以使用
http://<host IP>:9200/
看到結果了。然後逐一啟動 node-2 和 node-3。通過通路
http://127.0.0.1:9200/_cat/nodes
檢視叢集是否 OK:
192.168.3.112 25 87 13 4.29 dm - node-3
192.168.3.112 26 87 16 4.29 dm - node-2
192.168.3.112 35 87 16 4.29 m * node-1
http.port
transport.port
discovery.seed_hosts
discovery.seed_hosts
es-7.3.0-node-1
es-7.3.0-node-2
es-7.3.0-node-3
config/elasticsearch.yml
# es-7.3.0-node-1
cluster.name: search-7.3.2
node.name: node-1
node.master: true
node.data: false
node.ingest: false
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
cluster.initial_master_nodes: ["node-1"]
# es-7.3.0-node-2
cluster.name: search-7.3.2
node.name: node-2
node.master: true
node.data: true
node.ingest: false
network.host: 0.0.0.0
http.port: 9201
transport.port: 9301
discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
# es-7.3.0-node-3
cluster.name: search-7.3.2
node.name: node-3
node.master: true
node.data: true
node.ingest: false
network.host: 0.0.0.0
http.port: 9202
transport.port: 9302
discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
node-1 節點僅僅是一個 master 節點,它不是一個資料節點。
192.168.3.112 25 87 13 4.29 dm - node-3
192.168.3.112 26 87 16 4.29 dm - node-2
192.168.3.112 35 87 16 4.29 m * node-1