当前位置: 首页 > 知识库问答 >
问题:

Kafka主题如何运作

晏修诚
2023-03-14

我有一个关于主题偏移在Kafka中是如何工作的问题,它们是否存储在Kafka中的B树状结构?

我要求它的具体原因,让我们说我有一个主题,在主题中有1000万条记录,这将意味着1000万偏移,如果没有发生压缩或关闭,现在如果我使用consumer.seek(5000000),它将像LinkList的意思是,它将转到0偏移量,并尝试从那里跳到第500000个偏移量,或者它确实有类似索引的结构,可以准确地告诉日志中的第500000条记录在哪里?

答案是什么?

共有1个答案

莘翰采
2023-03-14

Kafka记录按顺序存储在日志中。文档中详细描述了确切的格式

Kafka通常希望读取是顺序的,因为消费者按顺序获取记录。但是,当需要随机访问(通过搜索或从特定位置重新启动)时,Kafka使用索引文件根据偏移量快速查找记录。

Kafka原木由几个部分组成。每个段都有一个索引和一个相关联的时间索引文件,它将偏移量和时间戳映射到文件位置。可以使用index.interval.bytes配置将条目添加到索引的频率。使用这些文件,Kafka能够立即寻找到附近的位置,并避免重读所有消息。

您可能已经注意到在不干净的关闭后,Kafka正在重建索引几分钟。正在重建的是这些用于文件位置查找的索引。

 类似资料:
  • 主题的最后状态: 组,主题,分区,当前偏移量,日志结束偏移量,滞后,所有者G.AB_KAFF,T.AB_KAFF,0,5,5,0,Consumer-2_/127.0.0.1 G.AB_KAFF,T.AB_KAFF,1,5,5,0,Consumer-2_/127.0.0.1 现在我删除主题。并将邮件发布到此主题 那么为什么Kafka要把滞后设定为-ve数。这难道不是一个潜在的问题吗? 假设我再次订阅

  • 我尝试收听主题,以查看哪个使用者保存了什么值的offsets,但这并不奏效... 我尝试了以下操作: 为控制台使用者创建了配置文件,如下所示: 谢谢! 码头

  • 我如何通过可能从application.yml中插入“+死信”来设置相同的Kafka主题?我试过这样一件事: 但它给我创造了两个同名的不同主题。我正在等待一些建议,谢谢你的帮助!

  • 问题内容: 我需要在kafka-0.8.2.2.3中删除一个主题。我已使用以下命令删除该主题: 该命令已成功执行,但是当我运行命令以列出主题时,我可以看到该主题仍然存在,并且显示 标记为“删除” 。 当我创建主题DummyTopic时,它会输出异常,该主题已存在,下面是堆栈跟踪: 请让我知道如何删除该主题。 问题答案: 从0.8.2.x版本开始支持删除主题。您必须首先在所有代理上启用主题删除(设置

  • 距今已过去数小时,话题仍未删除。 我看到了一些建议,建议我将放在我的中,然后重新启动Kafka。我试过这个。没奏效。 (为什么默认不设置这个?) 我可以关闭kafka和zookeeper,运行,然后再次启动zookeeper和kafka。但这是相当激烈的。确实应该有一些方法来说服实际上删除一个主题?

  • 我们执行以下步骤以删除主题-hgpo.llo.prmt.processed 但即使在12小时后,主题文件夹仍未从/var/kafka/kafka-logs中删除 注意-我们set-delete.topic.enable=true 在/var/kafka/kafka-logs下,我们有许多主题文件夹,如: ..