我们在不同的服务器上运行zookeeper 3.3和kafka 0.8。我们使用的是hl消费者,他们按照预期访问kafka队列中的数据,在重新启动时,他们从停止的地方获取表单。因此,消费者的行为符合预期。问题是当我们使用zkcli.sh时,在zookeeper中看不到偏移量。目前,使用者被设置为只在一个分区中运行一个主题。
cmd“ls/consumers/mygrpid/offsets/mytopic/0”返回[]。与“ls/consumers/mygrpid/owners/mytopic”相同,它返回[]。
因为当消费程序停止并重新启动时,消费程序的行为与预期一致(即,它从上次运行时中断的偏移量中恢复)。我们可以通过查看日志来判断这一点,该日志给出了它开始的偏移量,并且每次提交时都提供了偏移量)我们知道zookeeper应该在某个地方为使用者保存提交的偏移量。我的理解是Zookeeper跟踪hl消费者,而不是Kafka经纪人。然而,应该显示偏移量的“ls”命令却显示为null。
我应该在另一个地方查看偏移量吗(最终,我需要一个脚本来报告所有消费者的补偿。)
非常感谢任何帮助或建议。
1条答案
按热度按时间dba5bblo1#
你应该使用
get
而不是ls
.ls
获取子节点,在您的情况下/consumers/mygrpid/offsets/mytopic/0
没有孩子。但它有一个价值,所以运行get /consumers/mygrpid/offsets/mytopic/0
应该给你看这样的东西:哪里
47
是偏移值。