Elasticsearch: java.net.SocketException: Protocol family unavailable

Created on 1 Dec 2015  路  11Comments  路  Source: elastic/elasticsearch

I am trying to upgrade elastic search 1.x to 2.1 , getting below error.

i tried all these settings but it's still failing.

To bind to all IPv6/IPv4 addresses, you can use

network.bind_host: "0"
network.bind_host: "::"

To bind to IPv4 loopback (localhost) only

network.bind_host: "0.0.0.0"
together with JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses"

ERROR :

[2015-11-29 11:55:55,866][WARN ][transport.netty ] [Node1] exception caught on transport layer [[id: 0xfa429912]], closing connection
java.net.SocketException: Protocol family unavailable
at sun.nio.ch.Net.connect0(Native Method)
at sun.nio.ch.Net.connect(Net.java:435)
at sun.nio.ch.Net.connect(Net.java:427)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:643)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:108)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:574)
at org.jboss.netty.channel.Channels.connect(Channels.java:634)
at org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:216)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:229)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:182)
at org.elasticsearch.transport.netty.NettyTransport.connectToChannelsLight(NettyTransport.java:913)
at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:880)
at org.elasticsearch.transport.netty.NettyTransport.connectToNodeLight(NettyTransport.java:852)
at org.elasticsearch.transport.TransportService.connectToNodeLight(TransportService.java:250)
at org.elasticsearch.discovery.zen.ping.unicast.UnicastZenPing$3.run(UnicastZenPing.java:395)
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)
[2015-11-29 11:55:57,361][WARN ][transport.netty ] [Node1] exception caught on transport layer [[id: 0xe44a1084]], closing connection
java.net.SocketException: Protocol family unavailable
at sun.nio.ch.Net.connect0(Native Method)
at sun.nio.ch.Net.connect(Net.java:435)
at sun.nio.ch.Net.connect(Net.java:427)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:643)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:108)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:574)
at org.jboss.netty.channel.Channels.connect(Channels.java:634)
at org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:216)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:229)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:182)
at org.elasticsearch.transport.netty.NettyTransport.connectToChannelsLight(NettyTransport.java:913)
at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:880)
at org.elasticsearch.transport.netty.NettyTransport.connectToNodeLight(NettyTransport.java:852)
at org.elasticsearch.transport.TransportService.connectToNodeLight(TransportService.java:250)
at org.elasticsearch.discovery.zen.ping.unicast.UnicastZenPing$3.run(UnicastZenPing.java:395)
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)
[2015-11-29 11:55:57,836][INFO ][node ] [Node1] stopping ...
[2015-11-29 11:55:57,857][INFO ][node ] [Node1] stopped
[2015-11-29 11:55:57,857][INFO ][node ] [Node1] closing ...
[2015-11-29 11:55:57,861][INFO ][node ] [Node1] closed

:DistributeNetwork feedback_needed

Most helpful comment

I get the above exception when I set bind_host to :: but specify -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses. With the preferIPv4, I can set bind_host to 0 or 0.0.0.0 and it works.

By default, without setting anything, Elasticsearch will bind to localhost on IPv4 and IPv6 (whatever is available). But it won't bind to a public IP address unless you specifically tell it to.

What is it that you are trying to do? What OS are you on? Do you have IPv4? Do you have IPv6?

All 11 comments

I get the above exception when I set bind_host to :: but specify -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses. With the preferIPv4, I can set bind_host to 0 or 0.0.0.0 and it works.

By default, without setting anything, Elasticsearch will bind to localhost on IPv4 and IPv6 (whatever is available). But it won't bind to a public IP address unless you specifically tell it to.

What is it that you are trying to do? What OS are you on? Do you have IPv4? Do you have IPv6?

I am using IPv4 and linux 64 bit . I am trying to configure 3 ES nodes on one physical box.
the old version of ES works fine without any issues. now i am upgrading it to latest ES.

$ uname -a
Linux **l 2.6.18-371.9.1.el5 #1 SMP Tue May 13 06:52:49 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.10 (Tikanga)

I exported the java options in the elasticserach startup script like below, JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses"
export JAVA_OPTIONS

and tried three options each time, but no luck facing the same issue.

network.host: 0

network.bind_host: 0.0.0.0

network.bind_host: 0

FYI: java.net.preferIPv4Addresses does absolutely nothing. this is not a recognized property by java.

I added in the

Force the JVM to use IPv4 stack

if [ "x$ES_USE_IPV4" != "x" ]; then
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses"
fi

Like i said, -Djava.net.preferIPv4Addresses does nothing, never did do anything. Maybe you mean -Djava.net.preferIPv6Addresses, which actually does something.

See https://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html

both options are not helping here, still getting the same error.

[2015-12-01 09:06:04,277][WARN ][transport.netty ] [Node1] exception caught on transport layer [[id: 0x686bdc61]], closing connection
java.net.SocketException: Protocol family unavailable
at sun.nio.ch.Net.connect0(Native Method)
at sun.nio.ch.Net.connect(Net.java:435)
at sun.nio.ch.Net.connect(Net.java:427)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:643)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:108)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:574)
at org.jboss.netty.channel.Channels.connect(Channels.java:634)
at org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:216)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:229)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:182)
at org.elasticsearch.transport.netty.NettyTransport.connectToChannelsLight(NettyTransport.java:913)
at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:880)
at org.elasticsearch.transport.netty.NettyTransport.connectToNodeLight(NettyTransport.java:852)
at org.elasticsearch.transport.TransportService.connectToNodeLight(TransportService.java:250)
at org.elasticsearch.discovery.zen.ping.unicast.UnicastZenPing$3.run(UnicastZenPing.java:395)
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)
[2015-12-01 09:06:05,769][WARN ][transport.netty ] [Node1] exception caught on transport layer [[id: 0x79b2e8d7]], closing connection
java.net.SocketException: Protocol family unavailable
at sun.nio.ch.Net.connect0(Native Method)
at sun.nio.ch.Net.connect(Net.java:435)
at sun.nio.ch.Net.connect(Net.java:427)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:643)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:108)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:574)
at org.jboss.netty.channel.Channels.connect(Channels.java:634)
at org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:216)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:229)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:182)
at org.elasticsearch.transport.netty.NettyTransport.connectToChannelsLight(NettyTransport.java:913)
at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:880)
at org.elasticsearch.transport.netty.NettyTransport.connectToNodeLight(NettyTransport.java:852)
at org.elasticsearch.transport.TransportService.connectToNodeLight(TransportService.java:250)
at org.elasticsearch.discovery.zen.ping.unicast.UnicastZenPing$3.run(UnicastZenPing.java:395)
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)
[2015-12-01 09:06:07,079][INFO ][node

closing the ticket. Some miss configuration from my side causing this issue. thank you.

What did you do to fix it?????

I got a similar message with cassandra when changing something in /etc/hosts, /etc/sysconfig/network and /etc/resolv.conf

I met a simillar issue.
It seems IPv6 is required, but not supported somewhere.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

matthughes picture matthughes  路  3Comments

rpalsaxena picture rpalsaxena  路  3Comments

Praveen82 picture Praveen82  路  3Comments

ppf2 picture ppf2  路  3Comments

jasontedor picture jasontedor  路  3Comments