2017-05-03 79 views
1

我是卡夫卡的新手,但看過一些教程,所以我知道卡夫卡是如何工作的。我試圖運行我用Python編寫的生產者,但是我不知道如何在啓動我的zookeeper服務器和kafka服務器後運行此文件。如果任何人都可以告訴我要在命令提示符下編寫的命令的結構,我將非常感激。 謝謝!如何運行用Python編寫的kafka生產者?

卡夫卡監製:

import json 
import time 
from kafka import KafkaProducer 
from kafka.errors import KafkaError 
from kafka.future import log 

if __name__ == "__main__": 
    producer = KafkaProducer(bootstrap_servers= 'localhost: 9092') 

future = producer.send('my-topic', b"test") 

try: 
    record_metadata = future.get(timeout=10) 
except KafkaError : 
    log.exeption() 
    pass 

print(record_metadata.topic) 
print(record_metadata.partition) 
print(record_metadata.offset) 

producer = KafkaProducer(value_serializer = lambda m: json.dumps(m).encode('ascii')) 
producer.send('json-topic',{'key':'value'}) 

for _ in range (100): 
    producer.send('my-topic', b"test") 
    producer.send('my-topic',b"\xc2Hola, mundo!") 
    time.sleep(1) 

回答

2

所以你的問題是如何運行Python腳本?簡單地保存它,使可執行文件並執行:

chmod +x ./kProducer.py 
python ./kproducer.py 

更多細節在這裏:How to Run a Python Script via a File or the Shell

+0

謝謝您的回答,但因爲我是在Windows上工作我不能用chmod即使我得到了一些這方面的方向。我的問題沒有解決,但我會在單獨的帖子中提出。 – akshayg21

+0

如果你在Windows中,你不需要做'chmod',只需運行腳本:'C:\ pathTo \ python.exe C:\ pathTo \ my_python_script.py' – streetturtle

0

頂部添加shebang行到你的腳本:

#!/usr/bin/env python-version 與python2用於替換的Python版本2.x和python3 3.x 要檢查python的版本,請使用以下命令: python -V shebang行將確定腳本作爲獨立運行的能力。當您想要雙擊腳本並執行它而不是從終端執行時,這將有所幫助。或者簡單地說

python scriptname.py

相關問題