kafka-consumer-groups CLI未显示节点-kafka使用者groupf

时间:2019-11-10 17:16:23

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

我有一个在由node-kafka支持的node.js上运行的kafka消费者组。当此消费者组处于活动状态或非活动状态时,我希望看到kafa-consumer-groups CLI对其进行报告。

kafka-consumer-groups CLI确实显示了控制台使用者,而不仅仅是节点使用者。

我可以在Kafka工具中看到节点使用者组。它不会显示在Kafa-consumer-groups CLI输出中

kafka-consumer-groups --bootstrap-server localhost:9092 --list kafka-consumer-groups --bootstrap-server localhost:9092 --group node-kafka-consumer --describe

kafka-consumer-groups CLI应该显示所有使用者-控制台和编程的(在我的情况下为node-kafka使用者)

1 个答案:

答案 0 :(得分:2)

这是使用kafka-node ConsumerGroup对象将偏移量写入kafka而不是zookeeper的解决方案

const { ConsumerGroup } = kafka;


const consumerOptions = {
  kafkaHost: 'localhost:9092',
  groupId: 'kafka-node-consumer-group',
  protocol: ['roundrobin'],
  fromOffset: 'earliest'
};

const topics = ['zoo_animals'];

const consumerGroup = new ConsumerGroup(
  { id: 'node-app-1', ...consumerOptions },
  topics
);

consumerGroup.on('message', onMessage);
consumerGroup.on('error', onError);

function onMessage(message) {
  console.log('message', message);
}

function onError(error) {
  console.log('error', error);
}

process.once('SIGINT', function() {
  consumerGroup.close(true, err => {
    if (err) {
      console.log('error closing consumer', err);
    } else {
      console.log('closed consumer');
    }
  });
});```