Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十六)Structured Streaming:WARN clients.NetworkClient: Error whil...

博客围绕Kafka启用自动创建Topic功能后发布消息报错问题展开。问题可能是Topic未删除干净,仅标记为删除状态。解决方法是通过zookeeper客户工具,删除相关目录内容,强制删除topic节点,最终程序可正常运行。还提及可能是partition非brokers倍数导致,但未验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

我之前使用kafka的命令删除了改topic:
./kafka-topics.sh --delete --zookeeper 【zookeeper server】  --topic 【topic name】

kafka是启用了自动创建topic功能的(之气那测试过可以使用),发布消息到该topic上,此时报错,感觉没删除干净,只是标记为删除状态。

抛出异常信息为:

WARN clients.NetworkClient: Error while fetching metadata with correlation id 1 : {my-topic=LEADER_NOT_AVAILABLE}

解决方法:

kafka在zookeeper上存储结构:

启动zookeeper的客户工具,删除zookeeper根目录下的brokers目录下的topic目录下的所有东西(这样会把之前建的所有topic都删除)

1)jps查看zk的进程

30837 QuorumPeerMain

2)查找zk的运行目录:

 ps -ef|grep QuorumPeerMain

3)进入zk的安装目录找打bin/zkClient.sh,并运行它:

4)查看/brokers/topics和/admin/delete_topics下面有什么东西

ls /brokers/topics
ls /admin/delete_topics

此时发现删除的topic在zk的/brokers/topics节点下依然存在。

5)强制删除该topic节点。

rmr /brokers/topics/my-topic
rmr /admin/delete_topics/my-topic

验证程序可以正常运行。

同事说造成整个问题的原因,有可能是默认kafka topic的partition不是brokers的倍数的问题,但暂时未验证。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值