2017-09-22 158 views
0

我在我的Mac Pro(塞拉利昂; 10.12.6)本地運行卡夫卡只是爲了開始發展。我已經開始ZooKeeper的和卡夫卡服務器(0.11.0.1):問題變得簡單卡夫卡生產者去

bin/zookeeper-server-start.sh config/zookeeper.properties 
bin/kafka-server-start.sh config/server.properties 

我有主題發佈:

bin/kafka-topics.sh --list --zookeeper localhost:2181 
__consumer_offsets 
access 
my-topic 

(不知道什麼是__consumer_offsets,我創建了另外兩個)。

我已經安裝了kafka-python(1.3.4)。 我的示例程序是死的簡單:

from kafka import KafkaProducer 

producer = KafkaProducer(bootstrap_servers=['localhost:9092']) 
producer.send('my-topic', 'Another message') 

但以下消息嘎嘎叫着:

Traceback (most recent call last): 
    File "produce.py", line 3, in <module> 
    producer = KafkaProducer(bootstrap_servers=['localhost:9092']) 
    File "/Library/Python/2.7/site-packages/kafka/producer/kafka.py", line 347, in __init__ 
    **self.config) 
    File "/Library/Python/2.7/site-packages/kafka/client_async.py", line 220, in __init__ 
    self.config['api_version'] = self.check_version(timeout=check_timeout) 
    File "/Library/Python/2.7/site-packages/kafka/client_async.py", line 861, in check_version 
    raise Errors.NoBrokersAvailable() 
kafka.errors.NoBrokersAvailable: NoBrokersAvailable 

想法?任何援助讚賞。

+0

你嘗試了什麼,我建議,你還能分享你解決問題了...... –

+0

是 - 只是改變了配置文件得到了它。謝謝! – Rob

+0

你可以檢查卡夫卡經紀人是否真的在9092運行。嘗試運行'kafka-console-producer.sh - 經紀人列表本地主機-9092 - 主題我的主題'看看你是否真的有經紀人實例運行。您也可以在運行kafka-start時查看日誌,以查看運行哪個端口和網址的kafka實例。 –

回答

0

請確保您具有在server.config文件中定義的設置 advertised.listeners=PLAINTEXT://your.host.name:9092

這可能是可能的主機名解析提供了一些其他的主機名,默認情況下使用卡夫卡java.net.InetAddress.getCanonicalHostName()

相關問題