kafka broker Leader -1引起spark Streaming不能消费 已解决

发布时间:2020-08-05 18:38:19 作者:Stitch_x
来源:网络 阅读:1071

一、问题描述:

Kafka生产集群中有一台机器cdh-003由于物理故障原因挂掉了,并且系统起不来了,使得线上的spark Streaming实时任务不能正常消费,重启实时任务都不行。查看kafka topic状态,发现broker Leader出现-1的情况,如下图
kafka broker Leader -1引起spark Streaming不能消费  已解决

二、问题分析

Kafka Broker Leader 为-1,表示有partition在选举Leader的时候失败了,因此引起了消费该Topic的实时任务都出现了异常,经过排除发现挂掉的cdh-003机器正好是broker id为257。(但为何192没有被选举为leader呢??)

 

三、解决方法:修改kafka元数据,手动指定kakfa Leader。

kafka partition状态信息存在Zookeeper上,我的环境目录是 /kafka/brokers/topics/,具体操作如下:

1、查看leader为-1的partition状态

[zk: localhost:2181(CONNECTED) 2] get /kafka/brokers/topics/mds001/partitions/1/state

{"controller_epoch":87,"leader":-1,"version":1,"leader_epoch":96,"isr":[257]}

2、强制修改partition leader为192

[zk: localhost:2181(CONNECTED) 3] set /kafka/brokers/topics/mds001/partitions/1/state {"controller_epoch":87,"leader":192,"version":1,"leader_epoch":96,"isr":[192]}

3、查看修改是否成功

[zk: localhost:2181(CONNECTED) 4] get /kafka/brokers/topics/mds001/partitions/1/state

{"controller_epoch":87,"leader":192,"version":1,"leader_epoch":96,"isr":[192]}

[zk: localhost:2181(CONNECTED) 5]
kafka broker Leader -1引起spark Streaming不能消费  已解决

4、重启Kafka服务 (必须重启,我最开始就是没有重启,使得SS消费依然不正常)

5、重启Spark Streaming实时任务,此时消费正常,则完美解决

推荐阅读:
  1. 网易Java研发岗二面:讲讲 kafka 维护消费状态跟踪的方法
  2. MQTT与Kafka怎么理解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

kafka spark spark streaming

上一篇:我用Bash编写了一个扫雷游戏

下一篇:python 基本数组

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》