我们在单独的服务器上运行 zookeeper 3.3 和 kafka 0.8。我们正在使用 HL 消费者,它们按预期访问 kafka 队列中的数据,重新启动时,他们会从上次中断的地方继续。因此,消费者的行为符合预期。问题是当我们使用 zkCli.sh 时,我们无法看到动物园管理员中的偏移量。目前,消费者设置为仅在一个分区中为主题运行。CMD “ls /consumer/mygrpid/offsets/mytopic/0” 返回 []。
与 “ls /consumer/mygrpid/owners/mytopic” 相同,它返回 []。
因为当使用者停止并再次重新启动时,使用者的行为符合预期(即,它从上次运行时停止的偏移量中拾取。 我们可以通过查看日志来判断这一点,该日志给出了它开始的偏移量以及每次提交时)我们知道 zookeeper 应该在某个地方为消费者保存promise的偏移量。我的理解是动物园管理员跟踪HL消费者,而不是kafka经纪人。然而,应该显示偏移量的“ls”命令反而显示空。
我应该在不同的地方访问偏移量吗?(最终,我需要一个脚本来报告所有消费者的补偿。)
非常感谢任何帮助或建议。
你应该使用 get
而不是 ls
。ls
获取子节点,在您的情况下 /consumer/mygrpid/offsets/mytopic/0
没有子节点。但它有一个值,所以运行 get /consumer/mygrpid/offsets/mytopic/0
应该显示如下内容:
47
cZxid = 0x568
ctime = Tue Feb 03 19:08:10 EET 2015
mZxid = 0x568
mtime = Tue Feb 03 19:08:10 EET 2015
pZxid = 0x568
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 2
numChildren = 0
其中47
是偏移值。
我对使用Kafka和动物园管理员时偏移量的存储位置有点困惑。在某些情况下,偏移量似乎存储在动物园管理员中,而在其他情况下,它们存储在Kafka中。 什么决定了偏移量是存储在Kafka中还是存储在Zookeeper中?有哪些利弊? 注意:当然,我也可以将偏移量存储在不同的数据存储中,但这不是这篇文章的内容。 有关我的设置的更多详细信息: 我运行这些版本:KAFKA_VERSION=“0.10.1.0
分布式 Apache HBase 安装依赖于正在运行的 ZooKeeper 集群。所有参与节点和客户端都需要能够访问正在运行的 ZooKeeper 集合。 Apache HBase 默认为您管理 ZooKeeper“集群”。它将启动和停止 ZooKeeper 集合作为 HBase 启动/停止过程的一部分。您还可以独立于 HBase 管理 ZooKeeper 集合,只需将 HBase 指向它应该使用
我正在尝试使用Java API运行zookeeper,以便能够使用多个分区启动一个主题。我相信这个答案会奏效。但是,当我尝试运行此代码时,会出现以下错误: 无法连接到动物园管理员服务器localhost:2181超时8000毫秒 在这台机器上,我没有运行zookeeper服务器。但我想在Java中启动一个实例(目前我可以使用ZooKeeperServerMain()类来完成)。因此,也许我也需要这
假设我有 3 台 Kafka 服务器。服务器 1 zoopkeeper1 服务器 2 zoopkeeper2 服务器 3 zoopkeeper3 在集群配置中,zoopkeepers 会发生什么?它们是为每个服务器单独维护的,还是会在群集配置中同步其数据?
在Zookeeper和代理身份验证上启用SASL时,我面临以下错误。 以下配置在JAAS文件中给出,该文件作为KAFKA_OPTS传递,将其作为JVM参数:- Kafka经纪人的服务器。属性设置了以下额外字段:- Zookeeper属性如下所示:
我必须采用4.3.1单solr索引并将其迁移到solrcloud 5.2.1 新的5.2.1体系结构是2个碎片,每个碎片有1个主碎片和1个从碎片(副本)。我的步骤是: 设置新的单分片solrcloud 5.2.1 我也有配置在一个单一的ZooKeeper(我知道1 ZK不推荐)。 一切正常,碎片正在运行,副本包含数据,我可以从新的solrcloud 5.2.1 2碎片中查询数据。 当我添加新文档时