使用 檢視分割區資訊 AWS CLI - Amazon Managed Streaming for Apache Kafka

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 檢視分割區資訊 AWS CLI

執行下列命令,以叢集的 Amazon Resource Name (ARN) 取代 ClusterArn,並以主題名稱取代 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] } ] }

了解分割區資訊

回應包含每個分割區的下列資訊:

  • partition — 分割區編號。分割區會從 0 開始編號。

  • leader — 此分割區之領導者的代理程式 ID。領導者會處理分割區的所有讀取和寫入請求。

  • 複本 — 具有此分割區複本的代理程式 IDs 清單。這包括同步內和out-of-sync複本。

  • isr — 同步內複本的代理IDs 清單。這些複本完全跟上領導者的進度,並且可以在需要時接管為領導者。

在上述範例中,分割區 2 out-of-sync的複本。replicas 清單包含代理程式 2,但isr清單不包含。這表示代理程式 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 清單,識別哪些代理程式無法跟上複寫的進度。

  • 規劃分割區重新平衡 — 在執行重新平衡操作之前,請使用此資訊來了解目前的分割區配置。