Elasticsearch错误无法连接到master - 没有到主机的路由

Cao*_* An 10 elasticsearch

当我用命令:运行elasticsearch 0.90.0时bin/elasticsearch -f,我收到此错误:

[2014-09-17 15:00:27,998][INFO ][node                     ] [Myers, Fred] {0.90.0}[8030]: initializing ...
[2014-09-17 15:00:28,005][INFO ][plugins                  ] [Myers, Fred] loaded [], sites []
[2014-09-17 15:00:30,508][INFO ][node                     ] [Myers, Fred] {0.90.0}[8030]: initialized
[2014-09-17 15:00:30,508][INFO ][node                     ] [Myers, Fred] {0.90.0}[8030]: starting ...
[2014-09-17 15:00:30,762][INFO ][transport                ] [Myers, Fred] bound_address {inet[/0:0:0:0:0:0:0:0:9301]}, publish_address {inet[/192.168.0.108:9301]}
[2014-09-17 15:00:36,874][WARN ][discovery.zen            ] [Myers, Fred] failed to connect to master [[Holly][nlr9o-yfSQ6MsTtYlTlqlw][inet[/192.168.1.6:9300]]], retrying...
org.elasticsearch.transport.ConnectTransportException: [Holly][inet[/192.168.1.6:9300]] connect_timeout[30s]
    at org.elasticsearch.transport.netty.NettyTransport.connectToChannels(NettyTransport.java:671)
    at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:610)
    at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:580)
    at org.elasticsearch.transport.TransportService.connectToNode(TransportService.java:127)
    at org.elasticsearch.discovery.zen.ZenDiscovery.innterJoinCluster(ZenDiscovery.java:337)
    at org.elasticsearch.discovery.zen.ZenDiscovery.access$500(ZenDiscovery.java:76)
    at org.elasticsearch.discovery.zen.ZenDiscovery$1.run(ZenDiscovery.java:290)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.NoRouteToHostException: No route to host
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
    at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.connect(NioClientBoss.java:150)
    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:312)
    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)
    ... 3 more
[2014-09-17 15:00:36,874][WARN ][transport.netty          ] [Myers, Fred] exception caught on transport layer [[id: 0x361eaf47]], closing connection
java.net.NoRouteToHostException: No route to host
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
    at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.connect(NioClientBoss.java:150)
    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:312)
    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:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
[2014-09-17 15:00:42,892][WARN ][transport.netty          ] [Myers, Fred] exception caught on transport layer [[id: 0x2656abc9]], closing connection
java.net.NoRouteToHostException: No route to host
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
    at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.connect(NioClientBoss.java:150)
    at org.elasticsearch.common.netty.channel.socket.nio.NioClientBoss.processSelectedKeys(NioClientBoss.java:105)
...
Run Code Online (Sandbox Code Playgroud)

我没有安装logstash.当我访问时localhost:9200,我得到了

{
  ok: true,
  status: 503,
  name: "Haywire",
  version: {
    number: "0.90.0",
    snapshot_build: false
  },
  tagline: "You Know, for Search"
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

dav*_*d_p 13

您的ElasticSearch实例正在尝试加入群集(可能是您网络上的其他人),但是失败了.您应该禁用自动群集发现.

  1. 找到"发现"部分 /etc/elasticsearch/elasticsearch.yml

  2. 通过取消注释此行来禁用多播发现(默认情况下启用):

# discovery.zen.ping.multicast.enabled: false

编辑:我刚刚发现即使禁用"zen multicast discovery",这个错误仍然可能发生.如果(像我)你network.bind_host: 127.0.0.1elasticsearch.yml(只允许ElasticSearch本地连接),您还必须设置network.host: 127.0.0.1.否则,ElasticSearch将无法连接到自身(由于某种原因,它需要).


Har*_*nan 6

为您的群集命名,问题将得到解决.在您的elasticsearch目录中

编辑config/elasticsearch.yml.

取消注释cluster.name: elasticsearch并将其更改为类似的内容cluster.name: your_hostname

然后尝试再次启动elasticsearch.