ElasticSearch 7.6.2 單機部署三個節點 報錯

larry6799發表於2020-04-07

部署流程:

1. 準備三臺elasticsearch伺服器

建立elasticsearch-cluster資料夾,在內部複製三個elasticsearch服務,需要刪除之前的elasticsearch中的data目錄

2. 修改每臺伺服器配置

修改elasticsearch-cluster\node*\config\elasticsearch.yml配置檔案

node1節點:

#節點1的配置資訊:
#叢集名稱,保證唯一
cluster.name: my-elasticsearch
#節點名稱,必須不一樣
node.name: node-1
#必須為本機的ip地址
network.host: 127.0.0.1
#服務埠號,在同一機器下必須不一樣
http.port: 9200
#叢集間通訊埠號,在同一機器下必須不一樣
transport.tcp.port: 9300
#設定叢集自動發現機器ip集合
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]

 node2節點:

#節點2的配置資訊:
#叢集名稱,保證唯一
cluster.name: my-elasticsearch
#節點名稱,必須不一樣
node.name: node-2
#必須為本機的ip地址
network.host: 127.0.0.1
#服務埠號,在同一機器下必須不一樣
http.port: 9201
#叢集間通訊埠號,在同一機器下必須不一樣
transport.tcp.port: 9301
#設定叢集自動發現機器ip集合
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]

 node3節點:

#節點3的配置資訊:
#叢集名稱,保證唯一
cluster.name: my-elasticsearch
#節點名稱,必須不一樣
node.name: node-3
#必須為本機的ip地址
network.host: 127.0.0.1
#服務埠號,在同一機器下必須不一樣
http.port: 9202
#叢集間通訊埠號,在同一機器下必須不一樣
transport.tcp.port: 9302
#設定叢集自動發現機器ip集合
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]

3.  分別啟動三個node節點,於是報錯如下:

master not discovered yet, this node has not previously joined a bootstrapped 
(v7+) cluster,and [cluster.initial_master_nodes] is empty on this node

意思是沒有叢集中沒有初始化的主節點

 

原因及解決辦法:

在版本6和更早的版本中,還有一些其他以discovery.zen.*開頭的選項,允許你配置Zen Discovery的行為。其中一些設定不再有效,已被刪除。其他的已經改名。如果一個引數已經被改名,那麼它的舊名稱在版本7中就被棄用,你需要調整配置來使用新名稱。

新的叢集協調子系統包括一個新的故障檢測機制。這意味著 discovery.zen.fd.* 開頭的Zen Discovery錯誤檢測設定不再有效。大多數使用者應該在版本7或更高版本中使用預設的故障檢測配置,如果需要進行任何更改,可以使用cluster.fault_detection.

 

解決方案:修改三個yml配置檔案

在三個yml配置檔案中都加上這句配置即可

cluster.initial_master_nodes: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]

 

相關文章