使用查看分区信息 AWS CLI - Amazon Managed Streaming for Apache Kafka

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用查看分区信息 AWS CLI

运行以下命令,ClusterArn替换为集群的 Amazon 资源名称 (ARN) 和TopicName主题名称。

aws kafka describe-topic-partitions --cluster-arn ClusterArn --topic-name TopicName

该 命令的输出如以下 JSON 示例所示。

{ "partitions": [ { "partition": 0, "leader": 1, "replicas": [1, 2, 3], "isr": [1, 2, 3] }, { "partition": 1, "leader": 2, "replicas": [2, 3, 1], "isr": [2, 3, 1] }, { "partition": 2, "leader": 3, "replicas": [3, 1, 2], "isr": [3, 1] } ] }

了解分区信息

响应包含每个分区的以下信息:

  • 分区-分区号。分区从 0 开始编号。

  • le ader — 此分区的领导者的代理 ID。领导者处理该分区的所有读取和写入请求。

  • replicas — 包含此分 IDs 区副本的代理列表。这包括同步和 out-of-sync副本。

  • isr — 同步副本 IDs 的代理列表。这些副本会完全赶上领导者,如果需要,可以接管领导者的职务。

在上面的示例中,分区 2 有一个 out-of-sync副本。该replicas列表包括经纪商 2,但isr列表中没有。这表明 broker 2 没有完全赶上该分区的领导者。

对结果进行分页

如果您的主题有多个分区,则可以使用分页功能以较小的批量检索结果。使用--max-results参数指定要返回的最大分区数,并使用--next-token参数检索下一页的结果。

aws kafka describe-topic-partitions --cluster-arn ClusterArn --topic-name TopicName --max-results 10

如果有更多结果可用,则响应中会包含一个nextToken值。使用此令牌检索下一页的结果。

aws kafka describe-topic-partitions --cluster-arn ClusterArn --topic-name TopicName --max-results 10 --next-token NextToken

常见使用案例

查看分区信息对以下几种情况很有用:

  • 识别复制不足的分区-比较replicasisr列表以确定某些副本不同步的分区。这可能表示性能问题或代理问题。

  • 监控分区分布-检查分区领导者在代理之间是否均匀分布,以确保负载平衡。

  • 对@@ 复制问题进行故障排除-通过查看 ISR 列表来确定哪些代理在跟上复制速度时遇到问题。

  • 规划分区重新平衡-在执行重新平衡操作之前,请使用此信息了解当前分区布局。