Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python NoBrokers提供的卡夫卡消费者_Python_Apache Kafka - Fatal编程技术网

python NoBrokers提供的卡夫卡消费者

python NoBrokers提供的卡夫卡消费者,python,apache-kafka,Python,Apache Kafka,我使用docker命令运行卡夫卡制作人 kafka-console-producer.sh --topic USER_CREATED_TOPIC --broker-list xxx.xx.x.x:9092` 其中,x是分配的代理ip的编号 我的server.properties文件包含 advertised.port=9092 advertised.host.name=xxx.xx.x.x. listeners=PLAINTEXT://xxx.xx.x.x:9092 line advertis

我使用docker命令运行卡夫卡制作人

kafka-console-producer.sh --topic USER_CREATED_TOPIC --broker-list xxx.xx.x.x:9092`
其中,x是分配的代理ip的编号

我的
server.properties
文件包含

advertised.port=9092
advertised.host.name=xxx.xx.x.x.
listeners=PLAINTEXT://xxx.xx.x.x:9092 line
advertised.listeners=PLAINTEXT://xxx.xx.x.x:9092
每当我使用命令从docker容器启动消费者时

kafka-console-consumer.sh --topic USER_CREATED_TOPIC --from-beginning --bootstrap-server xxx.xx.x.x:9092
然后在我的生产者控制台中写一些东西,我在消费者中得到结果。(这里没有错误)

但是,当我尝试通过python脚本连接时,使用:

from kafka import KafkaConsumer
  consumer = 
  kafkaConsumer("USER_CREATED_TOPIC",bootstrap_servers= 
  ['xxx.xx.x.x:9092'])
for msg in consumer:
     print (msg)
我收到一个
NoBrokersAvailable
错误

我阅读了stackoverflow上的几个线程(根据这些答案在
server.properties
上列出了添加的项目),但我仍然无法通过python连接到kafka制作人


非常感谢您的帮助。

我看到的唯一语法问题是服务器地址不应在列表中,如下所示:

从卡夫卡导入卡夫卡消费者
消费者=KafkaConsumer('sample',bootstrap_servers='0.0.0.0:9092')
消费者信息:
打印(信息)
任何正在运行的集群都不会给出该错误。首先创建一个主题:

kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic sample
然后测试它是否存在:

bin/kafka-topics.sh --list --zookeeper localhost:2181
# sample
最后,确保有制作人创建要收听的消息:

从卡夫卡导入卡夫卡制作人
producer=KafkaProducer(引导服务器=0.0.0.0:9092')
producer.send('sample',b'Hello,World!')
send('sample',key=b'message-two',value=b'This is Kafka Python')

在修改
server.properties
文件后,您是否重新启动了Kafka brokers?@giorgosmyriantous是的,我重新启动了,尽管即使我使用docker提交,更改似乎也不适用。