kafka offset迁移

在早前的kafka版本中(0.8.0),offset是被存储在zookeeper中的。

到当前版本(0.8.2)为止,kafka同时支持offset存储在zookeeper和offset manager(broker)中。

从官方的说明来看,未来offset的zookeeper存储将会被弃用。因此现有的基于kafka的项目如果今后计划保持更新的话,可以考虑在合适的时候将offset迁移到kafka broker上。

以下是迁移步骤:

  1. 在consume config中,修改offsets.storage=kafka并且dual.commit.enabled=true。第一个修改不用解释。第二个配置项的意思是,同时提交offset到zookeeper和offset manager上,这是为了保证在迁移过程中offset不会丢失。
  2. rolling restart consumers并且确认运行正常。这时已经完成offset的迁移工作。
  3. 修改consumer config,dual.commit.enabled=false。双重提交offset会带来额外的开销,在完成迁移工作之后最好把这项配置关闭。
  4. rolling restart consumers

猜你喜欢

转载自kane-xie.iteye.com/blog/2224579