1.问题描述
kafka自己的consumer可以消费,但是使用Streaming的API消费kafka消息,就没有消费记录,同时控制界面上显示信息:
18/11/22 18:07:26 INFO SyncProducer: Connected to localhost:9092 for producing
18/11/22 18:07:26 INFO SyncProducer: Disconnecting from localhost:9092
18/11/22 18:07:26 WARN ClientUtils$: Fetching topic metadata with correlation id 0 for topics [Set(hello9)] from broker [BrokerEndPoint(0,localhost,9092)] failed
java.nio.channels.ClosedChannelException
at kafka.network.BlockingChannel.send(BlockingChannel.scala:110)
at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:75)
at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:74)
at kafka.producer.SyncProducer.send(SyncProducer.scala:119)
at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:59)
at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:94)
at kafka.consumer.ConsumerFetcherManager$LeaderFinderThread.doWork(ConsumerFetcherManager.scala:66)
at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:63)
18/11/22 18:07:26 INFO SyncProducer: Disconnecting from localhost:9092
18/11/22 18:07:26 WARN ConsumerFetcherManager$LeaderFinderThread: [test_DESKTOP-9LQMRFR-1542881236295-a0b05dd5-leader-finder-thread], Failed to find leader for Set([hello9,0])
kafka.common.KafkaException: fetching topic metadata for topics [Set(hello9)] from broker [ArrayBuffer(BrokerEndPoint(0,localhost,9092))] failed
at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:73)
at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:94)
at kafka.consumer.ConsumerFetcherManager$LeaderFinderThread.doWork(ConsumerFetcherManager.scala:66)
at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:63)
Caused by: java.nio.channels.ClosedChannelException
at kafka.network.BlockingChannel.send(BlockingChannel.scala:110)
at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:75)
at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:74)
at kafka.producer.SyncProducer.send(SyncProducer.scala:119)
at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:59)
... 3 more
2.环境
kafka_2.11-0.9.0.0
spark2.1.0
3.原因
远程连接kafka的配置问题,之前server.properties应当配置远程监听主机名称,这个是默认的:
listeners=PLAINTEXT://:9092
4.解决
添加主机名称
listeners=PLAINTEXT://hadoop:9092