Moses
Moses

Reputation: 700

Bind kafka to 0.0.0.0:9092

I have set up Kafka on my amazon ec2 machine running ubuntu-18 following this blog plost and this is how it is exposing the ports.

tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      772/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1220/sshd           
tcp        0      0 0.0.0.0:3004            0.0.0.0:*               LISTEN      1041/mongod         
tcp6       0      0 :::45827                :::*                    LISTEN      2059/java           
tcp6       0      0 :::9092                 :::*                    LISTEN      2136/java           
tcp6       0      0 :::2181                 :::*                    LISTEN      2059/java           
tcp6       0      0 :::32851                :::*                    LISTEN      2136/java           
tcp6       0      0 :::22                   :::*                    LISTEN      1220/sshd 

how can I bind it to 0.0.0.0:9092?

Upvotes: 0

Views: 7238

Answers (2)

OneCricketeer
OneCricketeer

Reputation: 191844

how can I bind it to 0.0.0.0:9092

:::9092 should be all you need for binding on IPv6.

If you want to force IPv4, please refer kafka binding to ipv6 port even though ipv4 address specified in config



You can also add this to server.properties to explicitly bind to all interfaces

listeners=PLAINTEXT://0.0.0.0:9092

But when set, you also need to set (and uncomment) advertised.listeners to the external interface address (IP or hostname) that clients should use to communicate to that server, as mentioned in the property file.

# If not set, it uses the value for "listeners".
#advertised.listeners=PLAINTEXT://your.host.name:9092

More details here if you need something more complex https://www.confluent.io/blog/kafka-listeners-explained

Upvotes: 1

Moses
Moses

Reputation: 700

I am doing this on aws ec2 running ubuntu 18, the blog post shared in the first answer provides detailed information on how to go about this kind of challenge. The main challenge was failing to get a broker connection from the machine.

What worked is to add your machines public DNS(ec2......com) to advertised listeners. I made the edit in server.properties file and like

advertised.listeners=PLAINTEXT://public DNS(ec2......com):9092

Upvotes: 0

Related Questions