本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 檢視分割區資訊 AWS CLI
執行下列命令,以叢集的 Amazon Resource Name (ARN) 取代 ClusterArn,並以主題名稱取代 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] } ] }
了解分割區資訊
回應包含每個分割區的下列資訊:
-
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-arnClusterArn--topic-nameTopicName--max-results 10
如果有更多結果可用,回應會包含 nextToken值。使用此字符來擷取結果的下一頁。
aws kafka describe-topic-partitions --cluster-arnClusterArn--topic-nameTopicName--max-results 10 --next-tokenNextToken
常用案例
檢視分割區資訊對於以下幾種案例很有用:
-
識別複寫不足的分割區 — 比較
replicas和isr清單,以識別某些複本不同步的分割區。這可能表示效能問題或代理程式問題。 -
監控分割區分佈 — 檢查分割區領導是否平均分佈於代理程式,以確保負載平衡。
-
對複寫問題進行故障診斷 — 透過檢查 ISR 清單,識別哪些代理程式無法跟上複寫的進度。
-
規劃分割區重新平衡 — 在執行重新平衡操作之前,請使用此資訊來了解目前的分割區配置。