2016-08-02 68 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

你知道任何解决方案,将工作视窗? –

相关问题