我有一个在由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使用者)
答案 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');
}
});
});```