BindTransportException: Failed to bind to [9300]

版权声明:本文为博主原创文章,欢迎转载。 https://blog.csdn.net/chengyuqiang/article/details/87096557

1、异常信息

[2019-02-12T15:50:30,496][INFO ][o.e.n.Node               ] [elastic1] starting ...
[2019-02-12T15:50:30,775][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [elastic1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: BindTransportException[Failed to bind to [9300]]; nested: BindException[Cannot assign requested address];
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.4.jar:6.5.4]
	at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.4.jar:6.5.4]
Caused by: org.elasticsearch.transport.BindTransportException: Failed to bind to [9300]
	at org.elasticsearch.transport.TcpTransport.bindToPort(TcpTransport.java:583) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.transport.TcpTransport.bindServer(TcpTransport.java:548) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.transport.netty4.Netty4Transport.doStart(Netty4Transport.java:132) ~[?:?]
	at org.elasticsearch.xpack.core.security.transport.netty4.SecurityNetty4Transport.doStart(SecurityNetty4Transport.java:92) ~[?:?]
	at org.elasticsearch.xpack.security.transport.netty4.SecurityNetty4ServerTransport.doStart(SecurityNetty4ServerTransport.java:41) ~[?:?]
	at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:62) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.transport.TransportService.doStart(TransportService.java:255) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:62) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.node.Node.start(Node.java:720) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:269) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.4.jar:6.5.4]
	... 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:130) ~[?:?]
	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:558) ~[?:?]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1358) ~[?:?]
	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:1019) ~[?:?]
	at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:254) ~[?:?]
	at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:366) ~[?:?]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) ~[?:?]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) ~[?:?]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462) ~[?:?]
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897) ~[?:?]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]
[2019-02-12T15:50:31,546][INFO ][o.e.n.Node               ] [elastic1] stopping ...
[2019-02-12T15:50:31,552][INFO ][o.e.n.Node               ] [elastic1] stopped
[2019-02-12T15:50:31,552][INFO ][o.e.n.Node               ] [elastic1] closing ...
[2019-02-12T15:50:31,567][INFO ][o.e.n.Node               ] [elastic1] closed
[2019-02-12T15:50:31,570][INFO ][o.e.x.m.j.p.NativeController] [elastic1] Native controller process has stopped - no new native processes can be started
[elastic@elastic1 elasticsearch]$

2、解决办法

本质原因是elasticsearch.yml文件的参数配置不正确。由于自己检查不仔细,花了很长时间没有发现参数错误。
后来才发现是一个低级错误:3个节点的Elasticsearch集群中,elastic1节点的配置文件elasticsearch.yml的IP写错啦,IP地址本应是192.168.12.160,我写成了192.168.12.158啦。

node.name和network.host的值对应,保证正确:

#当前节点名
node.name: elastic1

#配置当前结点绑定的IP地址,默认为0.0.0.0
network.host: 192.168.12.160

猜你喜欢

转载自blog.csdn.net/chengyuqiang/article/details/87096557
今日推荐