Elasticsearch MasterNotDiscoveredException Java节点客户端

时间:2015-01-31 18:46:49

标签: java elasticsearch

我正在尝试将一个Java应用程序从localhost连接到根服务器上的elasticsearch集群。我的问题是java客户端无法建立连接。

在根服务器(groupelite.de)上打开端口9200-9299和9300-9400。

我将弹性搜索群集配置为使用单播发现,并将其inet ip地址设置为" network.host"。 这是我实例化我的客户端的方式:

NodeBuilder.nodeBuilder()
  .clusterName("neeedo-es")
  .settings(ImmutableSettings.settingsBuilder()
    .classLoader(classOf[Settings].getClassLoader)
    .put("discovery.zen.ping.unicast.hosts", "groupelite.de:9300")
    .put("node.name", "neeedo-client"))
  .client(true)
  .data(false)
  .node()

这是我的elasticsearch.yml https://gist.github.com/MeiSign/ccfdcc62643c1185bab3

应关闭服务器上的防火墙。您也可以使用http http://www.groupelite.de:9200/

与es联系

服务器正在运行ubuntu 14.04。客户端和服务器上的Elasticsearch版本为1.4.2。

我不太习惯网络联系,但我希望从你们那里得到一些错误的想法。

编辑1: 服务器日志不时显示ConnectionClosed Exception。但是当客户端尝试连接时它不会出现,你根本看不到日志中的客户端。

[2015-01-31 18:31:45,921][WARN ][transport.netty] [neeedo-s1] exception caught on transport layer [[id: 0x1685f631]], closing connection
java.net.SocketException: Network is unreachable
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716)
    at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.connect(NioClientBoss.java:152)
    at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.processSelectedKeys(NioClientBoss.java:105)
    at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.process(NioClientBoss.java:79)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318)
    at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.run(NioClientBoss.java:42)
    at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
    at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

编辑2: 我发现它在我的应用程序中使用传输客户端时有效。这是否暗示出了什么问题?

0 个答案:

没有答案