kafka-node,使用者组中的使用者未分配任何分区

时间:2019-12-08 09:36:16

标签: apache-kafka kafka-consumer-api node-kafka

环境 节点版本:10.15.3 Kafka节点版本:5.0.0 Kafka版本(单节点):2.3.0 经纪人数:1 主题的分区数:1

我的应用程序包含微服务,每个微服务可以运行1-3个实例(每个消息只能接收一个)。 因此,如果我了解kafka使用者组的正确用法,则在启动每个ms时,它将使用ms名称的groupId(每个ms唯一)创建一个使用者组(在kafka-node js中为新的ConsumerGroup),每个主题都添加1分区,而我认为只有一个使用者将使用该分区中的消息,如果该使用者离开该组,则其他一些使用者将开始从该分区中使用。

有时会创建消费者组并添加主题,但是当我从kafka docker运行命令时,我看到没有消费者被分配给分区的命令,我找不到原因。

命令:kafka-consumer-groups.sh --describe --group ums --bootstrap-server localhost:9092

有效回复:

主题分区电流偏移量日志记录结束偏移量滞后消费者ID主机客户端ID

resConfig_update 0 0 0 0 ums-consumer-1575794029875-4f78bb47-84f9-4d75-bede-3b838802723f /172.16.103.20 ums-consumer-1575794029875

reseller_delete 0 0 0 0 ums-consumer-1575794029875-4f78bb47-84f9-4d75-bede-3b838802723f /172.16.103.20 ums-consumer-1575794029875

reseller_create 0 0 0 0 ums-consumer-1575794029875-4f78bb47-84f9-4d75-bede-3b838802723f /172.16.103.20 ums-consumer-1575794029875

有时候我会得到这个:

主题分区电流偏移量日志记录结束偏移量滞后消费者ID主机客户端ID-

resConfig_update 0 0 0 0---

reseller_delete 0 0 0 0---

reseller_create 0 0 0 0---

我从消费者那里消费了SyncGroupRequest来调试问题,我可以看到消费者没有分配给他的分区。 这是ConsumerGroup的创建:

let options = {
        id: `ums-consumer-${Date.now()}`,
        clientId: `ums-consumer-${Date.now()}`,
        kafkaHost: host, 
        groupId: 'ums',
        protocol: ['roundrobin'],
        idleConnection: 60000,
        fromOffset: 'earliest'
    };

    let ConsumerGroup = kafka.ConsumerGroup;
    let consumer = new ConsumerGroup(options, 
        ['reseller_create','reseller_delete', 'resConfig_update']);

我看到了一个有关类似问题的帖子,但是它没有用: https://github.com/SOHU-Co/kafka-node/issues/339

0 个答案:

没有答案