【kafka系列教程29】从老版本升级kafka

从老版本升级kafka

从0.8.x, 0.9.x 或 0.10.0.X 升级到 0.10.1.0

0.10.1.0有线协议更改,通过遵循以下建议的滚动升级,在升级期间不会停机。但是,需要注意升0.10.1.0中潜在的突发状况。

注意:由于引入了新的协议,要在升级客户端之前先升级kafka集群(即,0.10.1.x仅支持 0.10.1.x或更高版本的broker,但是0.10.1.x的broker向下支持旧版本的客户端)

滚动升级:

  1. 更新所有broker的server.properties文件,并添加以下属性:
    • inter.broker.protocol.version=CURRENT_KAFKA_VERSION (如:0.8.2.0, 0.9.0.0或0.10.0.0).
    • log.message.format.version=CURRENT_KAFKA_VERSION (有关此配置的详细信息,请查看升级后潜在的性能影响。)
  2. 每次升级一个broker:关闭broker,替换新版本,然后重新启动它。
  3. 一旦整个群集升级,通过编辑inter.broker.protocol.version并将其设置为0.10.1.0来转换所有协议。
  4. 如果之前的消息格式是0.10.0,则将log.message.format.version更改为0.10.1(这无影响,因为0.10.0和0.10.1的消息格式是相同的)。如果之前的消息格式版本低于.10.0,还不能更改log.message.format.version - 一旦所有的消费者都已升级到 0.10.0.0 或更高版本时,才能更改此参数。
  5. 逐个重新启动broker,使新协议版本生效。
  6. 如果log.message.format.version低于0.10.0,请等待,知道所有消费者升级到0.10.0或更新的版本,然后将每个broker的log.message.format.version更改为0.10.1。然后逐个重启。

注意:如果你可接受停机,你可以简单地将所有broker关闭,更新版本并重启启动,它们将默认从新版本开始。

注意:变换协议版本和重启启动可以在broker升级完成后的任何时间去做,不必马上做。

在0.10.1.0中潜在的变化

  • 日志保留时间不再基于日志段的最后修改时间。相反,它将基于日志段中消息的最大时间戳。

  • 日志滚动时间不再取决于日志段的创建时间。而是基于消息中的时间戳。进一步来说。如果日志段中第一个消息的时间戳是T,则当新的消息的时间戳大于或等于T+log.roll.ms时,日志将推出。

  • 0.10.0 的打开的文件处理将增加了约33%,因为为每个段增加时间索引文件。

  • 时间索引和offset索引共享相同的索引大小配置。因为每个时间索引条目是offset索引条目的1.5备。用户可能需要增加log.index.size.max.bytes以避免频繁的日志滚动。

  • 由于索引文件数量增加,对于一些有大量日志段的broker(即 >15k),在broker启动期间,日志加载处理可能更长。根据我们的实现,num.recovery.threads.per.data.dir设置为1可减少日志加载的时间。

0.10.1.0显著的变化

  • 新的java消费者不再是测试阶段了,我们建议将其应用到所有的新开发当中。旧的Scala使用仍然支持,但将在下一个版本中弃用,并在未来的主要版本中移除。

  • --new-consumer/--new.consumer转换不再需要使用MirrorMaker和类似于Console消费者工具。只需要通过一个Kafka broker连接,而不是ZooKeeper了。另外,控制台消费者和旧消费者已弃用,并且将在未来的主要版本中移除。

  • Kafka集群现在可通过集群ID来标识唯一,broker升级到0.10.1.0时将自动的生成。集群ID可通过kafka.server:type=KafkaServer,name=ClusterId获取。它是元数据相应的一部分,序列化,客户端拦截器和度量记录器可通过实现ClusterResourceListener接口来接收集群I

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值