![在这里插入图片描述](https://img-blog.csdnimg.cn/2020092221521096.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIxMzgzNDM1,size_16,color_FFFFFF,t_70#pic_center)
1.概述
kafka在0.9版本之后使用了新的消费组存储方式,一般是可以选择的,在配置文件中,忘记是哪个配置了。
之所以更改消费组位置是因为Zookeeper并不适合大批量的频繁写入操作,频繁的变动消费组,提交记录会导致zk繁忙,一旦zk繁忙会造成一些奇奇怪怪的现象。
在新版本的kafka中将consumer的位移信息保存在Kafka内部的topic中(__consumer_offsets
),
在kafka 0.9 版本开始提供了新的consumer及consumer group,位移的管理与保存机制发生了很大的变化,新版本的consumer默认将不再保存位移到zookeeper中,而是__consumer_offsets topic中
- 如果消费者根据java api来消费,,也就是
kafka.javaapi.consumer.ConsumerConnector,
通过配置参数zookeeper.connect来消费。这种情况,消费者的offset会更新到zookeeper的/kafka/consumers/<group.id>/offsets/<topic>/<partitionId>
,