flume报错WARN clients.NetworkClient: Error while fetching metadata with correlation id

项目场景:

修改linux系统时间,模拟使用flume读取日志文件,并把日志文件信息传输给kafka消费,kafka消费之后,再使用flume读取kafka消费后的日志信息,


问题描述:

flume在读取kafka的消费日志信息后,发现flume报错,测试topic_start,topic_event时发现正常,而flume报错如下:

21/01/22 20:51:54 WARN clients.NetworkClient: Error while fetching metadata with correlation id 19 : {topic_start=LEADER_NOT_AVAILABLE}
21/01/22 20:51:54 WARN clients.NetworkClient: Error while fetching metadata with correlation id 19 : {topic_event=LEADER_NOT_AVAILABLE}
21/01/22 20:51:54 WARN clients.NetworkClient: Error while fetching metadata with correlation id 20 : {topic_start=LEADER_NOT_AVAILABLE}
21/01/22 20:51:54 WARN clients.NetworkClient: Error while fetching metadata with correlation id 20 : {topic_event=LEADER_NOT_AVAILABLE}
21/01/22 20:51:54 WARN clients.NetworkClient: Error while fetching metadata with correlation id 21 : {topic_start=LEADER_NOT_AVAILABLE}
21/01/22 20:51:54 WARN clients.NetworkClient: Error while fetching metadata with correlation id 21 : {topic_event=LEADER_NOT_AVAILABLE}
21/01/22 20:51:54 WARN clients.NetworkClient: Error while fetching metadata with correlation id 22 : {topic_start=LEADER_NOT_AVAILABLE}
21/01/22 20:51:55 WARN clients.NetworkClient: Error while fetching metadata with correlation id 22 : {topic_event=LEADER_NOT_AVAILABLE}
21/01/22 20:51:55 WARN clients.NetworkClient: Error while fetching metadata with correlation id 23 : {topic_start=LEADER_NOT_AVAILABLE}
21/01/22 20:51:55 WARN clients.NetworkClient: Error while fetching metadata with correlation id 23 :
        }

原因分析:

这是在flume接受kafka消费的日志信息后,由于flume要进行时间上的验证,再进行信息的接受,在校验时间时flume发现时间相差较大,从而导致flume停止消费kafka日志信息。


解决方案:

1.在kafka的配置文件中配置server.properties,设置

delete.topic.enable=true

如果没有设置 delete.topic.enable=true,则调用kafka 的delete命令无法真正将topic删除,而是显示(marked for deletion)

2.调用命令删除topic:

./bin/kafka-topics --delete --zookeeper 【zookeeper server:port】 --topic 【topic name】

3.找一台部署了zk的服务器,使用命令:

bin/zkCli.sh -server 【zookeeper server:port】

登录到zk shell,然后找到topic所在的目录:ls /brokers/topics,找到要删除的topic,然后执行命令:

rmr /brokers/topics/【topic name】

即可,此时topic被彻底删除。

如果topic 是被标记为 marked for deletion,则通过命令 ls /admin/delete_topics,找到要删除的topic,然后执行命令:

rmr /admin/delete_topics/【topic name】

备注:

网络上很多其它文章还说明,需要删除topic在zk上面的消费节点记录、配置节点记录,比如:

rmr /consumers/【consumer-group】

rmr /config/topics/【topic name】

其实正常情况是不需要进行这两个操作的,如果需要,那都是由于操作不当导致的,正常情况下,安装1到2到3是可以删除topic的。

完成之后,调用命令:

./bin/kafka-topics.sh --list --zookeeper 【zookeeper server:port】

查看现在kafka的topic信息。正常情况下删除的topic就不会再显示。

但是,如果还能够查询到删除的topic,则重启zk和kafka即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值