2016-08-02 171 views
4

嘗試使用CentOS上的Python客戶端在本地連接到Kafka 0.10.0.0時出現了一個非常奇怪的問題。嘗試連接到Kafka時沒有Brokers可用錯誤

我的連接選項非常簡單,默認:

kafka_consumer = kafka.KafkaConsumer(
     bootstrap_servers=['localhost:9092'], 
     client_id="python-test-consumer" 
    ) 

當我手動設置聽衆選項,在卡夫卡的server.properties文件,如:

listeners=PLAINTEXT://localhost:9092 

我得到的kafka.errors。 NoBrokers可用,儘管我仍然可以使用curl或其他linux工具輕鬆連接到Kafka broker服務器。

advertised.listeners或其他不贊成廣告的選項有助於解決問題。因此,正在工作的唯一配置狀態是沒有監聽者的狀態。那肯定是不可接受的,因爲我們需要以某種方式設置本地集羣。

看來,這個愚蠢的問題的解決方案很簡單,並且在想,但我們無法自己想象它。

+0

檢出這個主題: http://stackoverflow.com/questions/35689238/kafka-python-producer-is-not-able-to-connect/40282989#40282989 –

回答

2

這聽起來可能很傻,但確切的同樣的問題發生在我身上,因爲這樣:

我通過BREW升級到卡夫卡0.10.0.0(蘋果機軟件包管理器)。 啤酒則建議對像這樣的班輪運行:

$ zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties; kafka-server-start /usr/local/etc/kafka/server.properties 

相反的我如何執行前:建議保持該方法

$ zkServer start 
$ kafka-server-start /usr/local/etc/kafka/server.properties 

在客戶端拋出那些「沒有經紀人可用」的錯誤。然後,我只是將命令分成兩行:

$ zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties 
$ kafka-server-start /usr/local/etc/kafka/server.properties 

而且一切都像以前一樣工作!

對不起,如果這不適合你,但我覺得值得一提。

+0

你知道任何解決方案,將工作視窗? –

相關問題