kafka用java编写消费者 消费不到数据

这是报的异常:
Caused by: java.nio.channels.UnresolvedAddressException
at sun.nio.ch.Net.checkAddress(Net.java:101)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:622)
at org.apache.kafka.common.network.Selector.connect(Selector.java:192)
… 15 more
2018-12-06 21:12:41,645 DEBUG org.apache.kafka.clients.NetworkClient.maybeUpdate() - Initialize connection to node hadoop01:9092 (id: 1 rack: null) for sending metadata request
2018-12-06 21:12:41,645 DEBUG org.apache.kafka.clients.NetworkClient.initiateConnect() - Initiating connection to node hadoop01:9092 (id: 1 rack: null)
2018-12-06 21:12:41,645 DEBUG org.apache.kafka.clients.NetworkClient.initiateConnect() - Error connecting to node hadoop01:9092 (id: 1 rack: null)
java.io.IOException: Can’t resolve address: hadoop01:9092
at org.apache.kafka.common.network.Selector.connect(Selector.java:195)
at org.apache.kafka.clients.NetworkClient.initiateConnect(NetworkClient.java:764)
at org.apache.kafka.clients.NetworkClient.access 600 ( N e t w o r k C l i e n t . j a v a : 60 ) a t o r g . a p a c h e . k a f k a . c l i e n t s . N e t w o r k C l i e n t 600(NetworkClient.java:60) at org.apache.kafka.clients.NetworkClient 600(NetworkClient.java:60)atorg.apache.kafka.clients.NetworkClientDefaultMetadataUpdater.maybeUpdate(NetworkClient.java:908)
at org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.maybeUpdate(NetworkClient.java:819)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:431)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:232)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:208)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:199)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.awaitMetadataUpdate(ConsumerNetworkClient.java:134)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:226)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:203)
at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:286)
at org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:1078)
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1043)
at kafkaToHbase.LogConsumer.main(LogConsumer.java:36)
解决方法:
关闭kafka服务,找到kafka解压缩后根目录下的config文件夹里的server.properties文件,将里面的zookeeper连接改为:zookeeper.connect=zookeeper集群中每台机器的IP地址:2181,zookeeper集群中每台机器的IP地址:2181

(2181是默认通过rpc方式连接zookeeper的端口号)
因为报的异常大致意思就是找不到地址主机名啥的,原本配置文件zookeeper连接写的是主机名加端口号,可能内部调用时识别不了(hosts文件已经配置过了),试着改成了ip地址加端口号,然后问题就解决了。虽然配置了hosts文件,但有时就这种情况还是识别不了,所以建议以后还是配置文件中使用ip地址吧。

你可能感兴趣的:(问题及解决方法)