Elasticsearch 5.0.0集群节点无法加入

11

好的,这应该不难,我正在尝试在elasticsearch集群中运行2个节点,并在尝试启动node-1(已经启动了master节点node-2)时遇到异常。对于这两个实例,使用的是elasticsearch v5.0.0。

异常:无法将加入请求发送到主节点,原因是RemoteTransportException,找到具有相同ID但是不同节点实例的现有节点]

Node-1配置:

node.name: SANNNNN-1

network.host: 10.3.185.250

discovery.zen.ping.unicast.hosts: ["10.3.185.251:9300"]

Node-2配置:

node.name: SAN-2

network.host: 10.3.185.251

discovery.zen.ping.unicast.hosts: ["10.3.185.251:9300"]

Node 2上的完整异常:

[INFO][o.e.d.z.ZenDiscovery] [SANNNNN-1] 尝试向主节点[{SAN-2}{DxExoYHHTu2-rFvuvQSuEg}{OfYBe97HQCmcha63CFiYlQ}{10.3.185.251}{10.3.185.251:9300}]发送加入请求失败,原因:[RemoteTransportException [[SAN-2] [10.3.185.251:9300] [internal:discovery/zen/join]];nested:IllegalArgumentException [无法添加节点{SANNNNN-1} {DxExoYHHTu2-rFvuvQSuEg} {hP4gLRugRgWzSuNnEhGHSw} {10.3.185.250} {10.3.185.250:9300},发现已经存在具有相同ID但是不同节点实例的节点{SAN-2} {DxExoYHHTu2-rFvuvQSuEg} {OfYBe97HQCmcha63CFiYlQ} {10.3.185.251} {10.3.185.251:9300}];]

3个回答

33

好的,问题出在通过scp将elasticsearch文件夹从一个节点复制到另一个节点。 Elasticsearch将节点ID保存在elasticsearch/data/文件夹中。删除一个节点上的数据文件夹并重新启动它。集群正在运行中。希望这个解决方法能够帮助到其他人。


为什么你选择了自己的“晚回答”,而另一个“先前”的回答指出了相同的解决方案? - ghchoi
1
同时也要显示年份。 - Arslan Mehboob
节省了大量的调试时间。谢谢! - Aman Garg

3

删除目录<Elastic search home>/data并重新启动ES节点,这个问题是由于elastic search将id存储在此目录中,当从一个节点复制一个有效的elastic search目录到另一个节点时,这是一个常见的错误。

解决问题后,可以像这样检查集群状态:

curl -X GET "localhost:9200/_cluster/health"

同样适用于elastic search 6


0

在 Azure 中克隆数据节点后,我遇到了同样的问题。最终我通过从根文件夹开始查找数据文件来解决了这个问题:

/datadisks/disk1/elasticsearch/data

我一直在阅读其他人发现该文件夹在其他位置,所以想在这里分享一下。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接