KRaft模式 - Amazon Managed Streaming for Apache Kafka

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

KRaft模式

Amazon MSK 推出了支持KRaft(阿帕奇卡夫卡筏)在卡夫卡 3.7.x 版。阿帕奇卡夫卡社區開發,KRaft以取代 Apache ZooKeeper 中的阿帕奇卡夫卡集群中的元數據管理。在KRaft模式下,群集元數據是一組卡夫卡控制器,這是卡夫卡集群的一部分,而不是跨節點傳播。 ZooKeeper KRaft隨附控制器,您無需額外付費,而且不需要額外的設定或管理。如需有KRaft關的詳細資訊,請參閱 KIP-500

以下是關於開KRaft啟模式的一些注意事項MSK:

  • KRaft模式僅適用於新叢集。建立叢集之後,您就無法切換中繼資料模式。

  • 在MSK主控台上,您可以選擇 Kafka 版本 3.7.x 並選取叢集建立視窗中的KRaft核取方塊,以建立 KRAF 型叢集。

  • 若要使用MSKAPICreateClusterCreateClusterV2作業在KRaft模式中建立叢集,您應該使用作3.7.x.kraft為版本。用3.7.x作在 ZooKeeper 模式下建立叢集的版本。

  • 每個代理程式的磁碟分割數目是相同的KRaft和 ZooKeeper 基於叢集。但是,KRaft透過在叢集中佈建更多代理程式,可讓您在每個叢集託管更多分割區。

  • 在 Amazon 上使用KRaft模式無需API更改MSK。但是,如果您的用戶端今天仍然使用--zookeeper連接字串,您應該更新用戶端以使用--bootstrap-server連接字串來連接到叢集。該--zookeeper標誌在阿帕奇卡夫卡 2.5 版本不推薦使用,並從卡夫卡 3.0 版本開始刪除。因此,我們建議您使用最新的 Apache Kafka 用戶端版本和叢集的所有連--bootstrap-server接字串。

  • ZooKeeper 模式繼續可用於所有發布的版本,其中動物園管理員也支持 Apache 卡夫卡。如支援的 Apache Kafka 版本需停止支援 Apache Kafka 版本和 future 更新的詳細資訊,請參閱。

  • 您應該檢查您使用的任何工具都能夠在沒有連接的APIs情況下 ZooKeeper 使用 Kafka 管理員。如需將使用 LinkedIn的巡航控制阿帕奇卡夫卡與 Amazon MSK叢集連接至巡航控制的更新步驟,請參閱。巡航控制系統還具有運行巡航控制不帶的說明 ZooKeeper。

  • 您不需要直接存取叢集的KRaft控制器來執行任何管理動作。但是,如果您使用開放式監控來收集指標,則還需要控制器的DNS端點,以便收集有關叢集的一些與控制器相關的非控制器相關指標。您可以從MSK控制台或使用ListNodesAPI操作獲取這些DNS端點。使用 Prometheus 進行開放式監控如需針對KRaft基礎叢集設定開放式監視的更新步驟,請參閱。

  • 您不需要額外的CloudWatch 指標來監視KRaft模式叢集透過 ZooKeeper 模式叢集。MSK管理叢集中使用的KRaft控制器。

  • 您可以ACLs使用--bootstrap-server連接字串繼續使用KRaft模式叢集進行管理。您不應該使用--zookeeper連接字符串進行管理ACLs。請參閱 阿帕奇·卡夫卡 ACLs

  • 在KRaft模式下,群集的元數據存儲在 Kafka 內的KRaft控制器上,而不是外部 ZooKeeper 節點。因此,您不需要像使用節點一樣單獨控制對控制器 ZooKeeper 節點的存取。