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?

Add a comment

3 Answers

10
 

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

export KAFKA_OPTS="-Djava.net.preferIPv4Stack=True"
Add a comment
 
 

If I understand you correctly, you need the following:

System.setProperty ("java.net.preferIPv4Stack", "true");

in the code, or

-Djava.net.preferIPv4Stack = True

in the web server startup script worked.

Did you try it?

Add a comment
 

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

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

And restart Kafka broker.

相关文章:

  • 2022-12-23
  • 2021-11-02
  • 2022-01-07
  • 2021-06-22
  • 2021-08-31
  • 2021-11-15
  • 2022-12-23
  • 2021-04-13
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-16
  • 2022-12-23
  • 2022-12-23
  • 2021-07-16
  • 2021-12-28
相关资源
相似解决方案