(Q) Kafka:kafka-topics.sh --describe 给我看的是什么?

Eli*_*jah 2 apache-kafka

你能解释一下 kafka-topics.sh --describe 显示的是什么吗?我正在关注一个教程视频,也在阅读 Apache 文档,但我需要更清楚地了解我正在查看此图中以下列的内容。

Leader:这是指向第 3 个 broker 还是指向第 3 个分区 [2]?

副本:这是指向 brokers:partitions 吗?

Isr:这是指向 brokers:partitions 吗?

如果有人解释 A、B、C、D 列是什么,我将不胜感激。主题描述

H.Ç*_*Ç.T 6

主题名称:“install_test2”

4 个分区(分区 0、分区 1、分区 2、分区 3),您对该主题的复制因子为 2。这意味着您的主题中的数据将存储(复制)在 2 个代理中以实现冗余。在 Kafka 中,每个分区都有一个领导者,所有来自生产者和消费者的请求都发送给领导者。

领导者列(图像中的 B 列)显示每个分区的领导者的代理 ID。(Kafka在broker之间平均分配partitionleader以实现负载均衡)

副本列(图像中的 C 列)显示为每个分区复制数据的代理的 ID。第一个 id 代表首选领导者。这意味着Kafka将尝试让这个broker成为partition的leader。

ISR(图像中的 D 列)表示同步副本。在 Kafka 中,当消息发送到主题分区时(首先接收消息并存储在领导者中)并且如果您的复制因子大于 1,则副本代理发送获取请求并将此数据复制到其他代理( s)。如果跟随者(副本)代理与领导者相差不远(如下所述),则它是同步的。如果分区领导失败,Kafka 会选择一个 ISR 作为故障转移的新领导。

来自 Kafka 文档:

配置参数 replica.lag.time.max.ms 现在不仅指自上次从副本获取请求以来经过的时间,还指自副本上次赶上以来的时间。仍在从领导者获取消息但没有赶上 replica.lag.time.max.ms 中的最新消息的副本将被视为不同步。