【发布时间】:2017-04-03 22:28:35
【问题描述】:
有人在 kafka python 上工作过单节点多代理设置吗?
我能够使用单节点单代理设置来生成和使用数据,但是当我将其更改为单节点时,多代理数据被生成并存储在主题中,但是当我运行消费者代码时,数据没有被使用。
任何关于上述内容的建议将不胜感激。提前致谢!
注意:生产者、消费者和服务器属性等所有配置都经过验证并且正常。
生产者代码:
from kafka.producer import KafkaProducer
def producer():
data = {'desc' : 'testing', 'data' : 'testing single node multi broker'}
topic = 'INTERNAL'
producer = KafkaProducer(value_serializer=lambda v:json.dumps(v).encode('utf-8'), bootstrap_servers=["localhost:9092","localhost:9093","localhost:9094"])
producer.send(topic, data)
producer.flush()
消费者代码:
from kafka.consumer import KafkaConsumer
def consumer():
topic = 'INTERNAL'
consumer = KafkaConsumer(topic,bootstrap_servers=["localhost:9092","localhost:9093","localhost:9094"])
for data in consumer:
print data
服务器 1 配置:我为其他代理添加了两个类似这样的服务器文件,其参数相同,broker.id、log.dirs 值不同。
broker.id=1
port=9092
num.network.threads=3
log.dirs=/tmp/kafka-logs-1
num.partitions=3
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.cleaner.enable=false
zookeeper.connect=localhost:2181
delete.topic.enable=true
生产者配置:
metadata.broker.list=localhost:9092,localhost:9093,localhost:9094
消费者配置:
zookeeper.connect=127.0.0.1:2181
zookeeper.connection.timeout.ms=6000
【问题讨论】:
-
能否请您发布您的代理配置和您的 python 脚本?否则我们帮不了你。
-
嗨 Shizhz,详细信息已按要求更新。
-
我重新格式化了你的配置信息,请你检查一下,以防我出错
-
I have added two more server files like this with same parameters for other brokers with the difference in broker.id, log.dirs values,你换端口了吗? -
你如何开始你的经纪人?
标签: python apache-kafka