2017-04-03 120 views
0

有人在單節點多代理安裝上使用kafka python嗎?kafka消費者在單節點多代理配置上

我能夠生成和使用單節點單一代理設置的數據,但是當我將其更改爲單節點時,多代理數據已生成並存儲在主題中,但是當我運行消費者代碼數據時並未消耗。

以上任何建議,將不勝感激。提前致謝!

注意:所有的配置,如生產者,消費者和服務器屬性都經過驗證,並沒有問題。

監製代碼:

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 
+0

請問您可以發佈您的經紀人配置和您的Python腳本?否則,我們無法幫助你。 – shizhz

+0

嗨Shizhz,詳細信息已按要求更新。 – Msk

+0

我重新格式化了你的配置信息,可否請你檢查一下,以防萬一我犯了錯誤 – shizhz

回答

0

你收到一個簡單的卡夫卡消費者的消息?

bin/kafka-console-consumer.sh –bootstrap-server localhost:9092,localhost:9093,localhost:9094 –topic INTERNAL –from-beginning 

或者這一個:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic INTERNAL 

如果你得到第二個命令的消息,請刪除您的經紀人/tmp/log.dir和日誌文件中/tmp/zookeepker/version-2/。然後重新啓動zookeeper和你的經紀人,並再次創建你的話題。

+0

就像一個魅力一樣。非常感謝。不過,我想配置3節點3分區3副本集羣。您能否就建立羣集的理想配置和規格諮詢意見。同時我也會通過API文檔。 – Msk

+0

不錯,你能接受我的答案,爲了讓我得到一些觀點:) – ImbaBalboa

+0

對於你的問題,你可能會發表另一篇文章。這不是一個簡單的問題,我不是專家。 – ImbaBalboa

相關問題