【问题标题】:Can not retrieve kafka offset for a topic/group/partition from zookeeper无法从 zookeeper 检索主题/组/分区的 kafka 偏移量
【发布时间】:2015-04-03 09:17:20
【问题描述】:

我们在不同的服务器上运行 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。

我应该寻找不同的地方来访问偏移量吗? (最终,我需要一个脚本来报告所有消费者的偏移量。)

非常感谢任何帮助或建议。

【问题讨论】:

    标签: apache-zookeeper apache-kafka


    【解决方案1】:

    您应该使用get 而不是lsls 获取子节点,在您的情况下 /consumers/mygrpid/offsets/mytopic/0 没有子节点。但它有一个价值,所以运行 get /consumers/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 是偏移值。

    【讨论】:

    • 非常感谢您的帮助。我现在看到了偏移值。
    猜你喜欢
    • 2020-10-25
    • 2019-07-20
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 2016-12-30
    • 2016-11-20
    • 1970-01-01
    相关资源
    最近更新 更多