Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

kafka binding to ipv6 port even though ipv4 address specified in config

Tags:

apache-kafka

I am in a bit of a bind (pun intended).

I have a ubuntu server running kafka & zookeeper. This server has both ipv4 and ipv6 protocols installed.

In the server.properties file, I specified the host.name and advertised.host.name as my public ipv4 address.

When I start zookeeper and kafka, kafka still binds to ipv6 port.

$ netstat -l -t | grep 9092 
tcp6       0      0 ferozed-linux3.mydomain:9092 [::]:*                  LISTEN

The client machine from which I am running a producer in a MapReduce job, is an IPv4 machine. Due to the fact that the server is binding to an IPv6 interface, the client is unable to connect to it.

Any idea how I can fix this?

like image 531
feroze Avatar asked Sep 12 '15 00:09

feroze


2 Answers

Starting from Andrey's answer, you can solve it just by adding an environment variable

export KAFKA_OPTS="-Djava.net.preferIPv4Stack=True"
like image 143
Ramsés J Avatar answered Sep 28 '22 05:09

Ramsés J


Add this is kafka/bin/Kafka-run-class.sh

KAFKA_OPTS="-Djava.net.preferIPv4Stack=True"

And restart Kafka broker.

like image 34
Abhimanyu Kmar Avatar answered Sep 28 '22 05:09

Abhimanyu Kmar