我正在将ElasticSearch索引从一台服务器迁移到另一台服务器。我只是将整个安装从一台服务器复制到另一台服务器,然后更改了集群名称,节点名称和IP地址。我可以很好地启动新安装,它会看到索引。我可以使用curl查询索引并获得结果。
但我无法使用java客户端查询新机器。我总是得到这个错误:
线程“main”中的异常org.elasticsearch.client.transport.NoNodeAvailableException:没有配置的节点可用:[]
我尝试过更改节点和群集名称并将其注释掉,以及我能想到的每个组合。代码是完全相同的java方面,我只是更改新服务器的IP地址。我能够telnet到该服务器上的9300端口,所以它似乎不是一个网络问题。
我错过了什么?
答案 0 :(得分:0)
通过Stack Overflow进行远程调试是很棘手的。但是,唯一想到的另一件事就是仔细检查您是否在客户端和服务器端使用相同版本的Java(完全相同)。
答案 1 :(得分:0)
原来这是一个非常愚蠢的问题。端口9300上运行了一个僵尸进程,ElasticSearch通过滚动到端口9301正常失败...