自己用一台 阿里雲 服務器 搭建ES集群的時候,總是報上面的問題。
而且兩個ES服務都是報同樣的問題。自己的配置文件如下:
es服務1配置文件
cluster.name: elasticsearch node.name: node-1 node.attr.rack: r1 path.data: /usr/local/elasticsearch-6.3.0/data path.logs: /usr/local/elasticsearch-6.3.0/logs node.master: true #network.bind_host: 172.16.145.205 network.host: 0.0.0.0 discovery.zen.ping.unicast.hosts: ["47.98.111.19:9300", "47.98.111.19:9302"] discovery.zen.minimum_master_nodes: 2 action.destructive_requires_name: true transport.host: 0.0.0.0 transport.tcp.port: 9300
es服務2配置文件
cluster.name: elasticsearch node.name: node-1 node.attr.rack: r1 path.data: /usr/local/elasticsearch-6.3.0/data path.logs: /usr/local/elasticsearch-6.3.0/logs node.master: false #network.bind_host: 172.16.145.205 network.host: 0.0.0.0 discovery.zen.ping.unicast.hosts: ["47.98.111.19:9300", "47.98.111.19:9302"] discovery.zen.minimum_master_nodes: 2 action.destructive_requires_name: true transport.host: 0.0.0.0 transport.tcp.port: 9300
注意:上面的node.master 兩個服務都要配置為 true。 應該是es已經配置了
discovery.zen.ping.unicast.hosts 這個屬性。他默認去找這兩個端口。如果其中有一台掛了或者 未開啟,他就會報這個問題。自己做了下測試,關閉其中一個 果然又報錯了。。。
2.啟動后過了會 節點以 報錯:

blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];
google 搜了下,是兩個節點的 日志和data 目錄沒在一個地方 。仔細檢查了下,節點2 沒有設置 日志和data目錄。
path.data: /usr/local/elasticsearch-6.3.0/data path.logs: /usr/local/elasticsearch-6.3.0/logs
重新設置下重啟。
3.
java.nio.file.AccessDeniedException: /usr/local/elasticsearch-6.2.4/config/elasticsearch.keystore
原因:當前用戶沒有接入權限
解決辦法:
chown -R elasearch:elasearch /usr/local/elasticsearch-6.2.4/