在远程机器中访问 kafka 代理错误 [英] Access kafka broker in a remote machine ERROR
问题描述
我在 172.19.91.125 运行 zookeeper 和大部分 kafka 服务器.我在这台机器上运行得很好.
I run zookeeper and most my kafka server in 172.19.91.125. I run all the things on this machine well.
但是当我尝试与消费者访问 172.19.101.61 上的 kafka 服务时:
But when I try to access the kafka service on 172.19.101.61 with the consumer:
bin/kafka-console-consumer.sh --zookeeper 172.19.91.125:2181 --from-beginning --topic my-topic
我收到以下错误消息:
[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?
推荐答案
终于自己解决了!
因为我别无选择,只能查看源代码,即使我对Java/scala也知之甚少.
Because I had not choice, but to check the source code, even I know little about Java/scala.
我发现 host:linux,port:9100 是一个代理套接字信息,它应该打印一些 ip 地址.我觉得楼主肯定有问题.
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.
然后我把配置server.properties、host.name字段全部改成IP并重启,效果很好!
Then I change the configuration server.properties, all the host.name field to IP and restart them, It works well!
这篇关于在远程机器中访问 kafka 代理错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!