一、是否需要配置 Zookeeper?
Kafka 集群的 Zookeeper 依賴性與版本及運行模式相關:
Kafka 版本 | 是否需要 Zookeeper | 說明 |
---|---|---|
0.11.x 及更早版本 | ? 必須配置 | Kafka 完全依賴 Zookeeper 管理元數據 |
2.8 及以下版本 | ? 必須配置 | Kafka 依賴外置或內置的 Zookeeper 服務 |
3.0 及以上版本 | ? 無需配置(KRaft 模式) | 若集群啟用 KRaft(無 Zookeeper),則直接通過 Broker 地址連接 |
3.0 及以上版本 | ? 需要配置(非 KRaft 模式) | 若仍使用傳統 Zookeeper 模式,則需按舊版本方式配置 |
二、配置步驟詳解(以 Kafka 0.11.0.0 為例)
1. 獲取 Zookeeper 連接信息
從 Kafka 的配置文件 server.properties
中獲取 Zookeeper 地址:
-
查找配置項:
zookeeper.connect=kafka-node1:2181,kafka-node2:2181,kafka-node3:2181
-
確保地址和端口與集群實際配置一致。
2. 配置 Zookeeper(必需)
- 打開 Offset Explorer,進入 Properties 選項卡。
- 填寫以下信息:
- Cluster Name:自定義集群名稱(如
Kafka-Cluster-0.11
)。 - Zookeeper Host: `kafka-hjgh-01.hjgh.svc.cluster.local。
- Zookeeper Port: 2181 格式:
host
- Kafka Cluster Version:填寫
0.11
。
- Cluster Name:自定義集群名稱(如
3. 配置 Kafka Broker(可選但推薦)
雖然 Kafka 0.11 主要通過 Zookeeper 連接,但配置 Broker 可增強兼容性:
- 進入 Advanced 選項卡。
- 填寫以下信息:
- Bootstrap Servers:
格式:host1:port1,host2:port2,host3:port3
示例:
kafka-node:30001,kafka-node:30002,kafka-node:30003 - SASL Mechanism(可選):
若啟用 SASL 認證,填寫機制類型(如PLAIN
),否則留空。
- Bootstrap Servers:
4. 配置security(可選但推薦)
kafka配置文件 server.properties
搜索security.inter.broker.protocol
如果
security.inter.broker.protocol=SASL_PLAINTEXT
則選擇SASL_PLAINTEXT模式,并且需要在JAAS config當中配置用戶名密碼,JAAS config內容可以從配置文件kafka_client_jaas.conf
當中獲取。
否則security默認Plaintext
5. 測試連接
- 點擊 Test 按鈕。
- 檢查是否返回 Success 狀態,確認集群可訪問。
- 若失敗,檢查:
- Zookeeper/Broker 地址和端口是否正確。
- 網絡連通性(使用 telnet 測試)。
- 防火墻是否開放端口。
三、注意事項
-
版本兼容性:
- Kafka 0.11 必須通過 Zookeeper 連接,Offset Explorer 需支持舊版本協議。
- 若使用新版 Offset Explorer,需確認其兼容 Kafka 0.11。
-
網絡配置:
- 確保 Offset Explorer 所在機器能訪問所有 Zookeeper 和 Broker 節點。
- 檢查防火墻規則是否允許流量通過相關端口。
鏈接成功后,可能broken使用的是內部域名,需要在本地hosts文件當中做一層映射,不然無法連接到broken
-
安全配置:
- 若集群啟用 ACL 或 SSL,需在 Offset Explorer 中配置對應證書和密鑰。