本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用查看分区信息 AWS CLI
运行以下命令,ClusterArn替换为集群的 Amazon 资源名称 (ARN) 和TopicName主题名称。
aws kafka describe-topic-partitions --cluster-arnClusterArn--topic-nameTopicName
该 命令的输出如以下 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-arnClusterArn--topic-nameTopicName--max-results 10
如果有更多结果可用,则响应中会包含一个nextToken值。使用此令牌检索下一页的结果。
aws kafka describe-topic-partitions --cluster-arnClusterArn--topic-nameTopicName--max-results 10 --next-tokenNextToken
常见使用案例
查看分区信息对以下几种情况很有用:
-
识别复制不足的分区-比较
replicas和isr列表以确定某些副本不同步的分区。这可能表示性能问题或代理问题。 -
监控分区分布-检查分区领导者在代理之间是否均匀分布,以确保负载平衡。
-
对@@ 复制问题进行故障排除-通过查看 ISR 列表来确定哪些代理在跟上复制速度时遇到问题。
-
规划分区重新平衡-在执行重新平衡操作之前,请使用此信息了解当前分区布局。