gpt4 book ai didi

python - 我应该将 ZooKeeper 节点传递给 PyKafka 的 KafkaClient 吗?

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:53 25 4
gpt4 key购买 nike

PyKafka 的 KafkaClient 示例显示了传递给客户端构造函数的 Kafka 节点:

from pykafka import KafkaClient
client = KafkaClient(hosts="127.0.0.1:9092")

因此,如果我有多个 Kafka 节点,我可以将它们全部作为主机 kw 的一部分传递。但是,由于 ZooKeeper 了解所有 Kafka 节点,因此似乎更好的方法是传递 ZooKeeper 集群的位置。

这种情况下的最佳做法是什么? PyKafka 是否支持将 ZooKeeper 节点传递给客户端构造函数?

最佳答案

对于KafkaClient,不需要。您可以提供用于连接的以逗号分隔的 kafka 主机列表(此处: http://pykafka.readthedocs.org/en/latest/api/client.html )或 KazooClient 连接字符串(其中包含 Zookeeper 信息、Zookeeper 的主机和端口)。从_get_metadata()函数的源代码中,集群对象从zookeeper获取broker信息(如果提供了zookeeper主机ip。这里 https://github.com/Parsely/pykafka/blob/1b2d030b073f276c18fd6b1a64320de58d4d7904/pykafka/cluster.py )。

对于其他客户端,例如 pykafka.balancedconsumer.BalancedConsumer,您可能需要提供 Zookeeper 信息 ( http://pykafka.readthedocs.org/en/latest/api/balancedconsumer.html )。

顺便说一句,请仔细阅读文档,并非所有java客户端中或协议(protocol)中定义的功能现在都在Python客户端中实现。

关于python - 我应该将 ZooKeeper 节点传递给 PyKafka 的 KafkaClient 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35000067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com