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?
Starting from Andrey's answer, you can solve it just by adding an environment variable
export KAFKA_OPTS="-Djava.net.preferIPv4Stack=True"
Add this is kafka/bin/Kafka-run-class.sh
KAFKA_OPTS="-Djava.net.preferIPv4Stack=True"
And restart Kafka broker.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With