我们在Kubernetes中基于<code>gcr.io/google_containers/Kubernetes-Kafka:1.0-10.2.1</code>docker映像运行一个Kafka集群,使用<code>gcr.io/google_containers/Kubernetes-zookeeper:1.0-3.4.10</code>,使用三个Kafka和zookeer实例。
我们有几个不同的消费者群体,他们消费和生产三个不同主题的数据。
行为:有时,使用者组会将其分区上某个主题的偏移量设置为 -1,从那时起,将停止对该主题的所有消费。如果我们重新启动消费者,我们可能会看到他们将偏移量设置为最新的偏移量,这可能意味着消费者在消息变为-1和重新启动之间的时间内错过了消息。
我发现为什么一个消费者团体会将它的偏移量设置为-1,为什么它会在正常运行数天后“随机”这样做。Kafka为什么会给某个消费者设置这个偏移量,有没有什么逻辑解释?我在我们的实际消费者身上看不到任何迹象表明他们明确地在这么做。
我们目前有消费者在<code>golang</code>和<code>Node中运行。js</code>,其中所有人都面临这个问题,所以我们目前的假设是这个问题与我们的消费者无关,而是与我们的Kafka设置有关。
默认的偏移量保留策略 offsets.retention.minutes
曾经是 1 天,而在较旧的 Kafka 版本中,即使对于活跃的使用者,偏移量也会被清除。使用 KIP-211 修复
我们最初在Kafka 0.10.2.1中发现了这一点,一些选定的主题丢失了消费者组偏移量(即,变为-1),因为几天内没有消息到达该主题,偏移量保留策略启动并消除了活跃消费者的偏移量。
我们能够通过将保留设置增加到7天来解决这个问题,这似乎也是Kafka最终所做的,参见KIP-186
在一个消费者群体中的所有消费者都失败后,kafka会将该消费者群体的补偿存储多长时间?是否有此配置变量?
在Kafka中创建主题后,您可以创建任意数量的消费者组,只需尝试使用这些组来阅读主题。 我想创建一个额外的消费者组来监控真实消费者组的消息内容——一个用来偷看他们消息的组。因此,GUI会让您单击任何消费者组的“偷看”,“偷看”组的偏移量将更新为被监控组的偏移量,然后它会向您显示该偏移量中的消息。 不过我很困惑,因为你不能在第一次就明确地创建一个消费者群体。您似乎必须阅读一条消息才能获得在动物园管理
我是Kafka的新手,正在学习Kafka内部知识。请根据需要随时更正我的理解。。 这是我的实时场景..感谢所有的回复: 我有一个接收数据文件的实时FTP服务器…比如索赔文件。 我将把这些数据发布到一个主题中.让我们把这个主题称为claims_topic(2个分区). 我需要订阅这个claims_topic,阅读消息并将它们写入Oracle和Postgres表。让我们将oracle表称为Otable
我在使用Kafka时遇到了一些问题。非常感谢任何帮助!我在docker swell中分别有zookeeper和kafka集群3个节点。您可以在下面看到Kafka代理配置。 我的情况: < li > 20x位制片人不断向Kafka主题传达信息 < li>1x消费者读取和记录消息 < li >终止kafka节点(docker容器停止),因此现在群集有2个Kafka代理节点(第3个节点将自动启动并加入群
是否有一种方法以编程方式访问和打印使用者滞后偏移,或者说使用者读取的最后一条记录的偏移与某个生产者写入该使用者分区的最后一条记录的偏移之间的位置差。 要知道我的最终目标是将这个值发送到prometheus进行监视,我应该在上面添加哪些语句来得到滞后偏移值?
我有一个kafka主题,有25个分区,集群已经运行了5个月。 根据我对给定主题的每个分区的理解,偏移量从0,1,2开始...(无界) 我看到log-end-offset值很高(现在- 我创建了一个新的消费群体,偏移设置为最早;因此,我预期该消费者组的客户端将从偏移量0开始的偏移量。 我用来创建一个偏移量为最早的新消费者组的命令: 我看到正在创建消费者组。我预计当前偏移量为0;然而,当我描述消费者组