rmoff's random ramblings
about talks

Kafka - AdminClient - Connection to node -1 could not be established. Broker may not be available

Published Jan 3, 2018 by in Apache Kafka, Adminclient, Networking at https://rmoff.net/2018/01/03/kafka-adminclient-connection-to-node-1-could-not-be-established.-broker-may-not-be-available/


See also Kafka Listeners - Explained


A short post to help Googlers. On a single-node sandbox Apache Kafka / Confluent Platform installation, I was getting this error from Schema Registry, Connect, etc:

WARN [AdminClient clientId=adminclient-3] Connection to node -1 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)

KSQL was throwing a similar error:

KSQL cannot initialize AdminCLient.

I had correctly set the machine’s hostname in my Kafka server.properties:

listeners=PLAINTEXT://proxmox01.moffatt.me:9092

but in Schema Registry, Connect etc I had not, and so they were using the default (localhost). The AdminClient bit comes in because when they launch each creates its own internal topics.

Based on my /etc/hosts we can see localhost has a different IP from the hostname (proxmox01):

rmoff@proxmox01 ~> cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.10.250 proxmox01.moffatt.me proxmox01 

Thus, Kafka was listening on one IP (192.168.10.250):

rmoff@proxmox01 ~> sudo netstat -plnt|grep 9092
tcp6       0      0 192.168.10.250:9092     :::*                    LISTEN      30345/java

But Schema Registry and Kafka Connect were trying (and failing) to connect to it on another (localhost → 127.0.0.1). With the appropriate files fixed (connect-avro-distributed.properties, schema-registry.properties) all was well with the world!


I also hit a hostname/networking related error earlier in this process, which stopped Kafka launching entirely:

kafka.common.KafkaException: Socket server failed to bind to proxmox01.moffatt.me:9092: Cannot assign requested address.

Turns out my /etc/hosts was fubar - it had the wrong IP address listed for the hostname. Instead of

192.168.10.250 proxmox01.moffatt.me proxmox01 

it had

192.168.1.250 proxmox01.moffatt.me proxmox01 

which was wrong. Fixing this solved the problem.


Robin Moffatt

Robin Moffatt works on the DevRel team at Confluent. He likes writing about himself in the third person, eating good breakfasts, and drinking good beer.

Story logo

© 2025