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

如何把握消费群体与话题的关系

慕阳伯
2023-03-14

我正在使用kafka 0.10 kafkaConsumer API获取消费者和消费者订阅下的主题集。

现在我可以通过topiclist方法成功地获取主题和分区。

要获取消费者组数据,我在KafkaConsumer下找不到方法,但我可以通过“zookeeper.getChildren(ZkUtils.ConsumerPath(),false);”从zookeeper获取组列表。

我的问题是如何得到群体和话题的关系。我知道一个小组可以订阅一个或多个主题,但我不知道如何通过KafkaConsumer API或zookeeper获取数据。

我尝试了kafkaConsumer.subscription(),但返回是一个空列表。

我指的是:https://kafka.apache.org/0101/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html

共有1个答案

易英奕
2023-03-14

KafkaConsumer中没有获取消费者群体信息的APIKafkaConsumer旨在消费来自主题的消息,并成为消费者群体的一部分。但没有别的。

在命令行上,您可以使用bin/kafka消费群体。sh以获取消费者组信息。在内部,它利用了Kafka。管理ConsumerGroupCommand——您可以尝试将其集成到Java代码中。

您还可以深入一个杠杆,使用非公共API(只需查看的代码kafka.admin.消费者组命令,看看它在内部是如何工作的——然而,如果您想稍后升级,这当然是脆弱的...当然,非公共API可以更改为新版本。

 类似资料:
  • null 编辑:好的,所以我取得了一些进步(如果我错了请纠正我): 每个消费者都将获得所有消息。 租约被分配了一个EventProcessorHost,所以它需要一个唯一的名称,所以这里的使用者组名称实际上并不相关。 仍然不能百分之百确定context.checkpointasync,但我相信它只适用于ConsumerGroup?

  • 我是Kafka的新手。我看了一眼Kafka文档。似乎分派给订阅消费者组的消息是通过将分区与消费者实例绑定来实现的。 在使用Apache Kafka时,我们应该记住一件重要的事情,即同一消费者组中的消费者数量应该小于或等于所使用主题中的分区数量。否则,将不会收到来自主题的任何消息。 在非prod环境中,我没有配置主题分区。在这种情况下,Kafka是否只有一个分区。如果我启动共享同一组的多个消费者并向

  • 我是Kafka的新手,正在学习Kafka内部知识。请根据需要随时更正我的理解。。 这是我的实时场景..感谢所有的回复: 我有一个接收数据文件的实时FTP服务器…比如索赔文件。 我将把这些数据发布到一个主题中.让我们把这个主题称为claims_topic(2个分区). 我需要订阅这个claims_topic,阅读消息并将它们写入Oracle和Postgres表。让我们将oracle表称为Otable

  • 假设我有一个Kafka主题,大约有10个分区,我知道每个消费群体应该有10个消费者在任何给定的时间阅读该主题,以实现最大的平行性。 然而,我想知道,对于一个主题在任何给定时间点可以处理的消费者群体的数量,是否也有任何直接规则。(我最近在一次采访中被问及这一点)。据我所知,这取决于代理的配置,以便在任何给定的时间点可以处理多少个连接。 然而,我只是想知道在给定的时间点可以扩展多少个最大消费群体(每个

  • 嗨,我正在使用KafkaCLI,以清楚地了解Kafka的工作原理。我对消费者群体感到困惑。我用三个分区创建了主题。我将创建producer,为主题提供一些数据。第一次我添加了一些数据,如下所示。 现在我的理解是user1、user2、user3会随机到三个不同的分区。 创建消费群时,如下所示。 这将给我所有的user1、user2、user3。 现在,在一个消费者组中,我可以有许多消费者。如果消费

  • 我在使用Kafka时遇到了一些问题。非常感谢任何帮助!我在docker swell中分别有zookeeper和kafka集群3个节点。您可以在下面看到Kafka代理配置。 我的情况: < li > 20x位制片人不断向Kafka主题传达信息 < li>1x消费者读取和记录消息 < li >终止kafka节点(docker容器停止),因此现在群集有2个Kafka代理节点(第3个节点将自动启动并加入群