簡體   English   中英

使用 --bootstrap-server 創建 Kafka 主題給出超時異常(kafka 版本 2.5)

[英]Kafka Topic Creation with --bootstrap-server gives timeout Exception (kafka version 2.5)

嘗試使用--bootstrap-server創建主題時,出現異常“執行 Kafka 主題命令時出錯:等待節點超時”:-

kafka-topics --bootstrap-server localhost:9092 --topic boottopic --replication-factor 3 --partitions

但是以下工作正常,使用--zookeeper :-

kafka-topics --zookeeper localhost:2181--topic boottopic --replication-factor 3 --partitions

我正在使用 Kafka 2.5 版,根據 >2.2 版以來的知識,所有偏移量和元數據都存儲在代理本身上。 因此,在創建主題時,無需連接到 zookeeper。

請幫助理解這種行為

注意 - 我已經在一台機器上設置了一個 Zookeeper quorum 和 Kafka 代理集群,每個集群都包含 3 個實例(用於開發目的)

老問題,但為了互聯網智慧,無論如何我都會回答。 您可能已經設置了身份驗證,在使用--bootstrap-server時,您還需要使用--command-config指定您的憑據

由於版本 >2.2,所有...元數據都存儲在代理本身

錯誤的。 在 KIP-500 完成之前,主題元數據仍存儲在 Zookeeper 上。

然而,在內部使用的AdminClient.createTopics()方法將從集群中的 Controller 代理節點委托給 Zookeeper。

很難說錯誤是什么,但最常見的問題是 Kafka 沒有運行,您啟用了 SSL 並且證書錯誤,或者listeners器配置錯誤。

例如,在偵聽器中,Cloudera Kafka 安裝上的默認代理端口將是 6667,而不是 9092

每個在一台機器上包含 3 個實例

在一台機器上運行 3 個實例不會提高彈性或性能,除非您在該主板上有 3 個 CPU 和 3 個單獨的 HDD。

“執行 Kafka 主題命令時出錯:等待節點超時”

這似乎您的代理已關閉或無法從您運行這些命令的位置訪問,或者它尚未啟動(可能仍在啟動)。


有時代理啟動需要很長時間,因為它執行一些清理操作。 您可能需要檢查您的 Kafka 代理啟動日志並查看它是否已准備好,然后嘗試通過提供引導服務器來創建主題。

在您的 Kafka 代理啟動期間也可能出現一些錯誤,例如打開的文件太多或 Zookeeper url 錯誤,您的代理無法訪問 zookeeper 等等。


如果您能夠通過傳入 Zookeeper URL 來創建主題,則意味着 Zookeeper 已啟動,但並不一定意味着您的 Kafka 代理也已啟動並正在運行。

因為 zookeeper 可以在沒有代理的情況下啟動,但反之則不行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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