如何运行用Python编写的kafka生成器?

时间:2017-05-03 22:14:25

标签: python apache-kafka kafka-producer-api

我是Kafka的新手,但看过一些教程,所以我知道Kafka是如何工作的。我正在尝试运行一个用Python编写的生产者,但是在我启动了zookeeper服务器和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 个答案:

答案 0 :(得分:2)

所以你的问题是如何运行python脚本?只需保存,制作可执行文件并执行:

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

更多细节如下:How to Run a Python Script via a File or the Shell

答案 1 :(得分:1)

在您的脚本顶部添加shebang行:

#!/usr/bin/env python-version 将python-version替换为2.x的python2和3.x的python3 要检查python的版本,请使用以下命令: python -V shebang行将确定脚本独立运行的能力。当您想要双击脚本并执行它而不是从终端执行时,这将有所帮助。或者简单地说

python scriptname.py