【问题标题】:How to run kafka producer that is written in Python?如何运行用 Python 编写的 kafka producer?
【发布时间】:2017-10-01 22:10:40
【问题描述】:

我是 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)

【问题讨论】:

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


    【解决方案1】:

    所以你的问题是如何运行 python 脚本?只需保存它,使其可执行并执行:

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

    更多详情在这里:How to Run a Python Script via a File or the Shell

    【讨论】:

    • 感谢您的回答,但是当我在 Windows 上工作时,即使我从中得到了一些指导,我也无法使用 chmod。我的问题没有解决,但我会在单独的帖子中询问。
    • 如果您在 Windows 中,则无需执行 chmod,只需运行脚本:C:\pathTo\python.exe C:\pathTo\my_python_script.py
    【解决方案2】:

    在脚本顶部添加 shebang 行:

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

    python scriptname.py

    【讨论】:

      猜你喜欢
      • 2020-07-31
      • 2016-01-21
      • 2019-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-23
      • 2020-12-03
      相关资源
      最近更新 更多