近日Kafka2.6版本发布,距离2.5.0发布只过去了不到四个月的时间。
Kafka 2.6.0包含许多重要的新功能。以下是一些重要更改的摘要:
如果要从2.1.x之前的版本升级,请参阅以下注释,以了解用于存储使用者偏移量的架构的更改。将inter.broker.protocol.version更改为最新版本后,将无法降级到2.1之前的版本。
对于滚动升级:
在所有代理上更新server.properties并添加以下属性。CURRENT_KAFKA_VERSION指的是您要升级的版本。CURRENT_MESSAGE_FORMAT_VERSION是指当前使用的消息格式版本。如果以前覆盖了消息格式版本,则应保留其当前值。或者,如果要从0.11.0.x之前的版本升级,则应将CURRENT_MESSAGE_FORMAT_VERSION设置为与CURRENT_KAFKA_VERSION相匹配。
2.5
,2.4
等)如果要从0.11.0.x或更高版本升级,并且尚未覆盖消息格式,则只需要覆盖代理间协议版本。
2.5
,2.4
等)一次升级一个代理:关闭代理,更新代码,然后重新启动。完成此操作后,代理将运行最新版本,并且您可以验证集群的行为和性能是否符合预期。如果有任何问题,此时仍然可以降级。
验证集群的行为和性能后,请通过编辑协议版本inter.broker.protocol.version
并将其设置为来更改协议版本 2.6
。
逐一重新启动代理,以使新协议版本生效。代理开始使用最新的协议版本后,将无法再将群集降级到较旧的版本。
如果您已按照上述说明覆盖了消息格式版本,则需要再次滚动重启以将其升级到最新版本。一旦所有(或大多数)使用者都升级到0.11.0或更高版本,则在每个代理上将log.message.format.version更改为2.6,然后逐一重新启动它们。请注意,不再维护的较旧的Scala客户端不支持0.11中引入的消息格式,为避免转换成本必须使用较新的Java客户端。
Kafka Streams添加了一种新的处理模式(需要Broker 2.5或更高版本),该模式使用完全一次的保证提高了应用程序的可伸缩性。
缺省情况下,Java 11或更高版本已启用TLSv1.3。如果客户端和服务器均支持TLSv1.3,则将协商该协议,否则将回退至TLSv1.2。
缺省情况下,Java 11或更高版本已启用TLSv1.3。如果客户端和服务器均支持TLSv1.3,则将协商该协议,否则将回退至TLSv1.2。
NotLeaderForPartitionException
已弃用,并已替换为NotLeaderOrFollowerException
。如果代理不是副本,则获取请求和仅用于领导者或跟随者的其他请求将返回NOT_LEADER_OR_FOLLOWER(6)而不是REPLICA_NOT_AVAILABLE(9),以确保重新分配期间的此暂时错误由所有客户端作为可重试的异常进行处理。
更多Flink,Kafka,Spark等相关技术博文,科技资讯,欢迎关注实时流式计算 公众号后台回复 “电子书” 下载300页Flink实战电子书
原文:https://www.cnblogs.com/tree1123/p/13473503.html