A-y*_*A-y 5 elasticsearch elasticsearch-5
我正在建立一个elasticsearch(5.0.1)集群.
它有三个符合主节点的节点:
el-m01
el-m02
el-m03
Run Code Online (Sandbox Code Playgroud)
群集无法组装,并且每个主节点NotMasterException在日志中都会收到以下异常:
[2016-11-21T15:24:13,274][INFO ][o.e.d.z.ZenDiscovery ] [el-m01] failed to send join request to master [{el-m02}{bBhsu3fJSj-MyiWJGhQmog}{_IzdeUd4Sv6g-rhemGjEVQ}{192.168.110.118}{192.168.110.118:9300}{rack=r1}], reason [RemoteTransportException[[el-m02][192.168.110.118:9300][internal:discovery/zen/join]]; nested: NotMasterException[Node [{el-m02}{bBhsu3fJSj-MyiWJGhQmog}{_IzdeUd4Sv6g-rhemGjEVQ}{192.168.110.118}{192.168.110.118:9300}{rack=r1}] not master for join request]; ], tried [3] times
Run Code Online (Sandbox Code Playgroud)
启用调试日志使我能够理解以下内容:
大师选举正在进行,并取得了成功.但是,虽然每个节点都选择了一个主节点,但没有节点认为他是主节点.即:
这里发生了什么?
A-y*_*A-y 17
情况如下:通过克隆VM以获取所有主服务器,每个节点都具有相同的节点ID.
可以使用以下命令验证这一点,列出所有节点ID:
GET /_cat/nodes?v&h=id,ip,name&full_id=true
Run Code Online (Sandbox Code Playgroud)
请注意,由于您的集群尚未形成,因此需要单独查询每个节点,即:
curl 192.168.110.111:9200/_cat/nodes?v&h=id,ip,name&full_id=true
curl 192.168.110.112:9200/_cat/nodes?v&h=id,ip,name&full_id=true
(...)
Run Code Online (Sandbox Code Playgroud)
这是不好的.节点ID必须是唯一的.
要解决这种情况,您需要删除/var/lib/elasticsearch每个节点上的索引(in ).这将删除elasticsearch中的所有数据,并且还将重置节点ID.
为避免首先出现此问题,您可以:
| 归档时间: |
|
| 查看次数: |
2504 次 |
| 最近记录: |