Elasticsearch错误:BindTransportException [无法绑定到[9300-9400]

Elasticsearch错误:BindTransportException [无法绑定到[9300-9400]

问题描述:

我在我的CentOS服务器上安装了elasticsearch最新版本5.5。为了改变IP地址,我已经添加了以下行elasticsearch.yml文件:Elasticsearch错误:BindTransportException [无法绑定到[9300-9400]

network.host = xyz.xyz.xy.xy (My Centos IP address) 
http.port: 9200 

当我开始我的elasticsearch,我收到以下错误:

[2017-08-02T12:26:08,667][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main] 
org.elasticsearch.bootstrap.StartupException: BindTransportException[Failed to bind to [9300-9400]]; nested: BindException[Cannot assign requested address]; 
     at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.5.1.jar:5.5.1] 
Caused by: org.elasticsearch.transport.BindTransportException: Failed to bind to [9300-9400] 
     at org.elasticsearch.transport.TcpTransport.bindToPort(TcpTransport.java:793) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.transport.TcpTransport.bindServer(TcpTransport.java:758) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.transport.netty4.Netty4Transport.doStart(Netty4Transport.java:173) ~[?:?] 
     at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:69) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.transport.TransportService.doStart(TransportService.java:209) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:69) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.node.Node.start(Node.java:692) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:277) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:360) ~[elasticsearch-5.5.1.jar:5.5.1] 
     at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.5.1.jar:5.5.1] 
     ... 6 more 
Caused by: java.net.BindException: Cannot assign requested address 
     at sun.nio.ch.Net.bind0(Native Method) ~[?:?] 
     at sun.nio.ch.Net.bind(Net.java:433) ~[?:?] 
     at sun.nio.ch.Net.bind(Net.java:425) ~[?:?] 
     at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[?:?] 
     at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:128) ~[?:?] 
     at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:554) ~[?:?] 
     at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1258) ~[?:?] 
     at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:501) ~[?:?] 
     at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:486) ~[?:?] 
     at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:980) ~[?:?] 
     at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:250) ~[?:?] 
     at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:365) ~[?:?] 
     at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) ~[?:?] 
     at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) ~[?:?] 
     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462) ~[?:?] 
     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) ~[?:?] 
     at java.lang.Thread.run(Thread.java:748) [?:1.8.0_141] 

我能开始elasticsearch而不编辑我的elasticsearch.yml。但我必须在我的centos机器之外访问elasticsearch。有没有其他的设置需要改变才能使其工作。任何帮助表示赞赏

+0

请提供完整的异常堆栈跟踪,你把它关闭后80个字符,但也失去了信息 – alr

+0

我已更新完整的错误,请检查我的问题 – Rose

是否有可能是你试图绑定到一个IP地址通过参数network.hostbind.host监听,这在系统上不存在?

你能分享的ip addr list输出和你elasticsearch.yml文件(你可以使用grep "^[^#]" elasticsearch.yml忽略的意见。