【问题标题】:How to send to data with kafkaProducer in Python?如何在 Python 中使用 kafkaProducer 发送数据?
【发布时间】:2019-05-11 05:37:54
【问题描述】:

我无法将数据发送到应具有适当权限的远程 Kafka 集群。

主题已在集群上创建。 我也尝试以字节为单位发送数据,但仍然有同样的错误。 如果您有任何信息,它可能会有很大的帮助!我的错误在提供的图片上。

【问题讨论】:

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


    【解决方案1】:

    首先,安装“pykafka” => pip install pykafka

    然后启动消费者(例如在终端中),运行以下命令:

    from pykafka import KafkaClient
    import threading
    
    KAFKA_HOST = "localhost:9092" # Or the address you want
    
    client = KafkaClient(hosts = KAFKA_HOST)
    topic = client.topics["test"]
    
    with topic.get_sync_producer() as producer:
        for i in range(10):
            message = "Test message " + str(i)
            encoded_message = message.encode("utf-8")
            producer.produce(encoded_message)
    

    你会看到:

    测试消息 0

    测试消息 1

    测试消息 2

    ...

    测试消息 9

    【讨论】:

    • 好的,谢谢,但是您在哪里指定主题名称?是你写的我应该替换的主题吗?
    • 哎呀,一行奇怪的消失了!我已经编辑了代码:)“test”是你的主题名称
    • 它给了我答案 TopicAuthorizationFailed: Failed to auto-create topic 'b'nyt_articles'' 这是该主题的名称,但我知道该主题的创建具有生成它的权限..
    • 您的主题是否已经存在?键入“client.topics.values()”以查看现有主题
    • 它似乎是空的......但是我的连接正在工作(client = KafkaClient(...))我假设我已经很好地连接到集群,该主题是使用命令远程创建的行,我错过了什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多