【Kafka零基础学习】模拟线上broker宕机处理过程

环境说明:

1、1个zookeeper,3个kafka broker在同一主机。

1、创建一个test topic(3分区、3副本)

kafka-topics.bat --create --zookeeper localhost:2181/kafka --replication-factor 3 --partitions 3 --topic test


image.png

分区情况如下:
kafka-topics.bat --describe --zookeeper localhost:2181/kafka --topic test


image.png

2、生产1个消息

kafka-console-producer.bat --broker-list localhost:9092,localhost:9093,localhost:9094 --topic test


image.png

3、broker0宕机和查看分区分配情况

image.png

broker0宕机后 ,分区leader会重新选举,整个集群仍处于可用状态。

4、继续生产5个消息

kafka-console-producer.bat --broker-list localhost:9092,localhost:9093,localhost:9094 --topic test


image.png

5、broker0恢复和查看分区分配情况

image.png

可以看出,broker0恢复后,会重新加入到ISR中,但partition leader所在broker未发生改变,出现了partition leader分布不均匀情况。

6、首选的副本选举

由于目前leader分布不均匀,故运行首选的副本选举命令。
kafka-preferred-replica-election.bat --zookeeper localhost:2181/kafka


image.png

会发现3个partition leader被重新分配回最初的broker上。这是因为Replicas数据一致未变过,此脚本默认会选举Replicas数据中的第一个为partition leader broker。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时间复杂度为O(1)的方...
    Alukar阅读 3,097评论 0 43
  • 大致可以通过上述情况进行排除 1.kafka服务器问题 查看日志是否有报错,网络访问问题等。 2. kafka p...
    生活的探路者阅读 7,614评论 0 10
  • 本文转载自http://dataunion.org/?p=9307 背景介绍Kafka简介Kafka是一种分布式的...
    Bottle丶Fish阅读 5,491评论 0 34
  • kafka安装目录下的bin目录包含了很多运维可操作的shell脚本,列举如下: 接下来详细说明每个脚本的使用方法...
    阿飞的博客阅读 9,844评论 5 15
  • 生活对我来说,才不是一口井呢。 我仰望星空, 既有阳光泼洒,流云穿梭, 又有雷电歌唱,众鸟归巢。 明明眼里映着千山...
    丽小姐的理想生活阅读 489评论 0 1