簡體   English   中英

Kafka:使用Kraft協議在集群中查找Controller ID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM