Access kafka broker in a remote machine ERROR

2019-07-22 06:23发布

问题:

I run zookeeper and most my kafka server in 172.19.91.125. I run all the things in this machine well.

But when I try to access the kafka service in 172.19.101.61 with the consumer: bin/kafka-console-consumer.sh --zookeeper 172.19.91.125:2181 --from-beginning --topic my-topic

I Get the following ERROR messages:

[2014-12-16 01:52:42,531] ERROR Producer connection to linux:9100 unsuccessful (kafka.producer.SyncProducer)
java.nio.channels.UnresolvedAddressException
    at sun.nio.ch.Net.checkAddress(Net.java:48)
    at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:505)
    at kafka.network.BlockingChannel.connect(BlockingChannel.scala:57)
    at kafka.producer.SyncProducer.connect(SyncProducer.scala:141)
    at kafka.producer.SyncProducer.getOrMakeConnection(SyncProducer.scala:156)
    at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:68)
    at kafka.producer.SyncProducer.send(SyncProducer.scala:112)
    at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:53)
    at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:88)
    at kafka.consumer.ConsumerFetcherManager$LeaderFinderThread.doWork(ConsumerFetcherManager.scala:66)
    at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:51)
[2014-12-16 01:52:42,531] WARN Fetching topic metadata with correlation id 66 for topics [Set(my-topic)] from broker [id:0,host:linux,port:9100] failed (kafka.client.ClientUtils$)
java.nio.channels.UnresolvedAddressException
    at sun.nio.ch.Net.checkAddress(Net.java:48)
    at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:505)
    at kafka.network.BlockingChannel.connect(BlockingChannel.scala:57)
    at kafka.producer.SyncProducer.connect(SyncProducer.scala:141)
    at kafka.producer.SyncProducer.getOrMakeConnection(SyncProducer.scala:156)
    at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:68)
    at kafka.producer.SyncProducer.send(SyncProducer.scala:112)
    at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:53)
    at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:88)
    at kafka.consumer.ConsumerFetcherManager$LeaderFinderThread.doWork(ConsumerFetcherManager.scala:66)
    at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:51)

It must be some configuration issue, Is that anyone encounter the same issues?

Thanks in advance!

回答1:

At last, I solved it by myself!

Because I had not choice, but to check the source code, even I know little about Java/scala.

I found that host:linux,port:9100 is a broker socket information, it should print some ip address. I thought that must be something wrong about the host.

Then I change the configuration server.properties, all the host.name field to IP and restart them, It works well!