hahawo110 2018-09-12 03:06 采纳率: 0%
浏览 5031

kafka在一台机器上模拟集群,为什么关闭一个broker,整体集群就不能消费了,求大神解答

kafka在一台机器上模拟集群,为什么关闭一个broker,整体集群就不能消费了。消费就一直卡主等待的状况。

环境:
1.一台机器运行了一个zookeeper,启动文件是在kafka/bin/zookeeper-server-start.sh
2.分别把kafka文件件复制了四份,改变里面server.properties中borker.id分别为1,2,3,4
3.启动机器,正常可以消费topic是cxl的
4.关闭borker.id是1的kafka服务,就没有办法消费cxl
topic的信息
图片说明

现在就不太明白正常集群挂掉一个,整体集群应该是不受影响的,从topic信息上看我的分片也在borker 2上,而我关掉的是broker1应该没有什么影响,但是现在为什么不能消费了?

  • 写回答

2条回答

  • 麦兜仔 2019-05-21 13:59
    关注

    虽然topic的副本数是2,但是 partition的数量为1,所以导致这个topic只会在一个broker(leader partition)中存储数据。
    出现上诉情况的原因,可以是在leader partition中存储数据的时候,其他follower partition还未来得及从leader partition中拉取数据,
    leader partition所在的broker就挂掉了。从而导致follower partition没有同步到所有数据,此时因为leader partition所在的broker挂掉了,
    在ISR中的follower partition会被选举为leader partition,此时的leader partition的数据是缺失的。

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?