KafkaException:Fetching topic metadata with correlation id 0 for topics [Set(test)]

4 篇文章 0 订阅
1 篇文章 0 订阅

本地链接远程Kafka异常

远程机器fp-bd13搭建最新版Kafka (自带zookeeper),按照文档默认配置启动。远程新建producer和costumer一切正常。
本地spark链接:

JavaPairReceiverInputDStream<String, String> kafkaStream =KafkaUtils
                                    .createStream(jssc,"fp-bd13:2181", "0", topicMap);

测试出现:

[ ERROR ]  fetching topic metadata for topics [Set(test)] from broker 
[ArrayBuffer(id:0,host:localhost,port:9092)] failed 
kafka.common.KafkaException: 
Fetching topic metadata with correlation id 0 for topics [Set(test)] 
from broker [BrokerEndPoint(0,localhost,9092)] failed 
(kafka.client.ClientUtils$) 

看到这个日志觉得有点奇怪,为什么会有localhost,我们配置的明明是fp-bd13的zookeeper,但是9092的端口是kafka所监听的。从而想到可能是链接kafka的配置存在问题。 kafka_2.11-1.1.0/config/server.propertieslisteners 属性默认是 localhost:9092 ,由于远程链接localhost并不是本机,所以这里需要制定下我们IP和端口:listeners=PLAINTEXT://fp-bd13:9092 。然后重启 kafka 再运用spark应用就能成功链接了。

成功后我们在远程创建一个生产者,用来传递消息给spark应用:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

执行命令后却不停的警告:

[2018-04-17 10:08:48,158] WARN [Producer clientId=console-producer] Connection to node -1 could not be established. 
Broker may not be available. (org.apache.kafka.clients.NetworkClient)

意思是没有客户端链接这个生产者,发消息本地应用也收不到。之前远程测试又是没问题的,从而想到又是网络问题。这里我们要修改--broker-listfp-bd13:9092。然后就没有警告了。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值