To use the group management or offset commit APIs, you must provide a valid group.id in the consumer

kafka订阅主题消费数据时报错:Caused by: org.apache.kafka.common.errors.InvalidGroupIdException: To use the group management or offset commit APIs, you must provide a valid group.id in the consumer configuration.

刚开始是因为生产者说没有消费者群组,我就是没配置,根据分区去订阅的数据,使用consumer.subscribe(strings);订阅的主题,这样有问题, 根据消费者群组去消费的时候这样订阅可以,通过分区订阅要使用assign方式,

ArrayList topicPartitions = new ArrayList<>();
List partitionInfos = consumer.partitionsFor(pubTopic);
for (PartitionInfo partitionInfo : partitionInfos) {
    topicPartitions.add(new TopicPartition(partitionInfo.topic(), partitionInfo.partition()));
}
consumer.assign(topicPartitions);

修改完之后在提交偏移量的时候报这个错,找了很多原因都不行, 最后发现是生产者是有消费者群组限制的。将消费者群组加上就好了,如果没有消费者群组可直接赋为空字符串。

你可能感兴趣的:(接口,kafka,java,大数据)