好的,这应该不是很难,我试图在elasticsearch集群中运行2个节点,并在尝试启动node-1时获得异常(node-2是master已经启动)。对两个实例使用elasticsearch v 5.0.0
异常:无法向master发送加入请求,原因是RemoteTransportException无法添加节点找到的具有相同id的现有节点但是是不同的节点实例]
节点1配置:
node.name:SANNNNN-1
network.host:10.3.185.250
discovery.zen.ping.unicast.hosts:[“10.3.185.251:9300”]
节点2配置:
node.name:SAN-2
network.host:10.3.185.251
discovery.zen.ping.unicast.hosts:[“10.3.185.251:9300”]
节点2上的完全例外:
[INFO] [oedzZenDiscovery] [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]];嵌套:IllegalArgumentException [无法添加节点{SANNNNN-1} {DxExoYHHTu2-rFvuvQSuEg} {hP4gLRugRgWzSuNnEhGHSw} {10.3.185.250} {10.3.185.250:9300},找到现有节点{SAN-2} {DxExoYHHTu2-rFvuvQSuEg} {OfYBe97HQCmcha63CFiYlQ {10.3.185.251} {10.3.185.251:9300}具有相同的id但是是不同的节点实例]; ]
答案 0 :(得分:22)
好的,所以问题是通过scp将elasticsearch文件夹从一个节点复制到另一个节点。 Elasticsearch将节点标识保存在elasticsearch / data /文件夹中。删除了一个节点上的数据文件夹并重新启动它。群集已启动并正在运行。希望这可以节省一些人的麻烦。
答案 1 :(得分:1)
删除目录<Elastic search home>/data
并重新启动ES节点,此问题是由于弹性搜索在此目录中存储了id,这是将一个工作的弹性搜索目录从一个节点复制到另一个节点时的常见错误。 / p>
解决问题后,按如下所示检查群集状态:
curl -X GET "localhost:9200/_cluster/health"
也可以与elastic search 6
一起使用
答案 2 :(得分:0)
在Azure中克隆数据节点后,我遇到了同样的问题。我最终通过从根文件夹开始找到数据文件:
/ datadisks / disk1 / elasticsearch / data
我不断读到其他人在其他地方找到该文件夹,并希望在这里共享。