[英]Kafka: Find Controller ID in a cluster using Kraft protocol
如何在使用 Kraft 的 Kafka 集群上找到當前的 controller ID,最好使用命令行。
卡夫卡版本:3.3
可能你的意思是 Active Controller ID。
Kafka 3.3 附帶了 kafka-metadata-quorum 工具。
> bin/kafka-metadata-quorum.sh --bootstrap-server broker_host:port describe --status
ClusterId: fMCL8kv1SWm87L_Md-I2hg
LeaderId: 3002
...
文檔: https://kafka.apache.org/documentation/#kraft_metadata_tool
使用 KRaft 時,集群不再有單個 controller。相反,集群中以“控制器”角色運行的節點都參與controller 元數據仲裁。
工具報告看似隨機 ID 的原因是因為有意選擇在現有元數據 API 中返回隨機 controller 參與者 ID 。 這有助於在參與仲裁的節點上平均分配負載。
在下面,元數據仲裁的參與者正在維護一個特殊的主題,該主題使用 Raft 共識算法進行復制。 該主題有一個領導者,您可以獲取該主題的領導者 ID 。 但需要注意的是,這不等於 ZK 支持的集群上的 controller,當使用 KRaft 運行時,該角色不再存在,並且如前所述,現在是一個由許多節點共享的角色。
您應該能夠通過請求__cluster_metadata
主題的元數據來獲取集群的當前領導者 ID,或者按照另一個答案中的建議使用 kafka-metadata-quorum 腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.