zoukankan      html  css  js  c++  java
  • kafka broker Leader -1引起spark Streaming不能消费的故障解决方法


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

    二、问题分析
    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]

    4、重启Kafka服务 (必须重启,我最开始就是没有重启,使得SS消费依然不正常)
    5、重启Spark Streaming实时任务,此时消费正常,则完美解决
    ————————————————
    版权声明:本文为CSDN博主「微步229」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/lingbo229/article/details/90442171

  • 相关阅读:
    又来项目了,星座运势widget
    ubuntu下编译android源代码
    Android UI,界面辅助设置工具,可随意拖动控件,比google官方提供的方便
    Android 1.5原生软件开发SDK公布
    REST转自WIKI
    Android SDK 1.5 包装索引
    android google market FreshFace上线了,大家都试用试用,反正免费的
    JSON
    ubuntu命令
    网站支付宝接口错误代码:TRADE_DATA_MATCH_ERROR怎么处理? uz
  • 原文地址:https://www.cnblogs.com/felixzh/p/11612568.html
Copyright © 2011-2022 走看看