kafka抄书04 kafkapdf
bigegpt 2024-10-19 02:48 3 浏览
原文地址:https://kafka.apache.org/documentation/#gettingStarted
欢迎点赞收藏+关注 比心
1.5从以前版本升级
升级到3.6.1,从0.8.x到3.5.x
改进基于Zaukeeper的集群
如果您是在2.1.X之前从一个版本升级的,请参阅下文步骤5中的说明,说明对用于存储消费者补偿的模式的更改。一旦你改变了内部.经纪人.协议书.版本到了最新版本,就不可能降级到在2.1之前的版本。
滚动升级:
- 更新所有经纪人的属性并添加下列属性。是指你正在升级的版本。当前的信息格式是指当前使用的消息格式版本。如果您先前已经覆盖了消息格式版本,那么您应该保留其当前值。或者,如果您是在0.11.0.X之前从一个版本升级的,那么应该将当前_消息_格式_文本设置为与当前_卡夫卡_文本匹配。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.5 ,3.4 , etc.)log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION (See 升级后的潜在业绩影响 关于此配置的细节。)如果您是从0.11.0.X或以上版本升级的,而且您没有覆盖消息格式,那么您只需要覆盖内部BRK协议版本。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.5 ,3.4 , etc.)
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。如果出现任何问题,此时仍有可能下调评级。
- 一旦集群的行为和性能被验证,通过编辑来改变协议版本 inter.broker.protocol.version 把它放在3.6 .
- 重新启动经纪人一个接一个的新协议版本生效。一旦经纪人开始使用最新的协议版本,就再也不可能将集群降级为旧版本了。
- 如果您已按上面的指示重写了消息格式版本,那么您需要再进行一次滚动重新启动,以将其升级到最新版本。一旦所有(或大多数)消费者都升级到0.11.0或更晚,请更改日志。注意,不再维护的老的scala客户机不支持0.11中引入的消息格式,以避免转换成本(或利用 一旦语义学 ),必须使用较新的Java客户端。
改进以裂缝为基础的集群
如果您正在从3.3.0之前的版本升级,请参见下文步骤3中的注。一旦你改变了梅塔达塔。版本到了最新版本,就不可能降级到3.3-IV0之前的版本。
滚动升级:
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。
- 一旦集群的行为和性能得到验证,通过运行来撞击元模型。 ./bin/kafka-features.sh upgrade --metadata 3.6
- 注意,这个版本不支持集群元数据降级,因为它有元数据更改。每一个 厌恶元计算 在3.2.X之后,有一个布尔参数,表示是否有元数据变化(即。IBP_3_3_IV3(7, "3.3", "IV3", true) 意味着这个版本有元数据更改)。鉴于您的当前版本和目标版本,只有在版本之间没有元数据变化的情况下才有可能降级。
3.6.0的显著变化
- 阿帕奇卡夫卡现在支持在同一端口同时拥有IPv4和IPv6监听器。此更改只适用于未公布的监听器(已公布的监听器有此功能)
- 阿帕奇动物园饲养员的附属关系已升级到3.8.1,因为已经到了3.6年。把你的卡夫卡和动物园管理员集群带到最新版本:>=2.4 卡夫卡集群可以直接更新。动物园管理员集群是运行与卡夫卡2.4或以上版本捆绑在一起的二进制文件,可以直接更新。<2.4 卡夫卡集群首先需要更新为大于2.4和小于3.6的版本。运行与2.4以下卡夫卡版本捆绑的二进制文件的动物园管理员集群需要更新为与2.4以上、3.6以下卡夫卡版本绑定的任何二进制文件。然后你可以跟着第一点。有关详情,请参阅 KIP-902 .
- 配置log.message.timestamp.difference.max.ms 反对。两个新配置,log.message.timestamp.before.max.ms 和log.message.timestamp.after.max.ms ,加了。详情请参阅 KIP-937 .
- 卡夫卡·克里斯蒂尔引入了一个新的任务分配人,RackAwareTaskAssignor ,用于计算在特定条件下可以最小化交叉架流量的任务分配。它与现有的StickyTaskAssignor 和HighAvailabilityTaskAssignor .看 KIP-925 和 卡夫卡流开发指南 更多的细节。
- 为了解释3.1.0版本引入的兼容性中断,镜像制造者2增加了一个新的 replication.policy.internal.topic.separator.enabled 财产。如果升级为3.0.X或更早,可能需要将该属性设置为false ;请参阅 文件 更多的细节。
- 可及早访问分层存储功能,不建议在生产环境中使用。欢迎对其进行测试,并提供任何反馈。有关早期存取分层存储功能的更多信息,请查询 KIP-405 和 分层存储早期存取说明 .
- 事务分区验证( KIP-890 )已添加到数据分区,以防止挂起事务。有压缩的工作负载可以经历暂停记录和不知道记录.此功能可通过设置来禁用transaction.partition.verification.enable 为了假的。请注意,3.6的默认值是正确的。配置也可以动态更新,并应用于代理。这将在3.6.1中修正。看 KAFKA-15653 更多的细节。
升级到3.5.2,从0.8.X至3.4.X任何版本
所有升级步骤保持不变 升级至3.5.0
3.5.2的显著变化
- 当将生产者身份证块从ZK迁移到卡夫时,可能会有重复的生产者身份证提供给事务或等离子生产者。这可能会导致长期的问题,因为生产者身份证将被持久化并被长期重用。看 KAFKA-15552 更多的细节。
- 在3.5.0和3.5.1中,可能会出现一个问题,即在滚动升级期间,在改变分配请求之后,从控制器返回空的ISR。这个问题将影响主题分区的可用性。看 KAFKA-15353 更多的细节。
升级到3.5.1,从0.8.X到3.4.X任何版本
所有升级步骤保持不变 升级至3.5.0
3.5.1的显著变化
- 升级的依赖,斯纳佩-Java,一个不脆弱的版本 CVE-2023-34455. 你可以在 卡夫卡简历。
- 修正了3.3.0中引入的回归,它导致了security.protocol 配置值仅限于最上层。在修复之后,security.protocol 值不区分大文本。看 KAFKA-15053 关于细节。
升级到3.5.0,从任何0.8.X到3.4.X版本
改进基于Zaukeeper的集群
如果您是在2.1.X之前从一个版本升级的,请参阅下文步骤5中的说明,说明对用于存储消费者补偿的模式的更改。一旦你改变了内部.经纪人.协议书.版本到了最新版本,就不可能降级到在2.1之前的版本。
滚动升级:
- 更新所有经纪人的属性并添加下列属性。是指你正在升级的版本。当前的信息格式是指当前使用的消息格式版本。如果您先前已经覆盖了消息格式版本,那么您应该保留其当前值。或者,如果您是在0.11.0.X之前从一个版本升级的,那么应该将当前_消息_格式_文本设置为与当前_卡夫卡_文本匹配。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.4 ,3.3 , etc.)log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION (See 升级后的潜在业绩影响 关于此配置的细节。)如果您是从0.11.0.X或以上版本升级的,而且您没有覆盖消息格式,那么您只需要覆盖内部BRK协议版本。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.4 ,3.3 , etc.)
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。如果出现任何问题,此时仍有可能下调评级。
- 一旦集群的行为和性能被验证,通过编辑来改变协议版本 inter.broker.protocol.version 把它放在3.5 .
- 重新启动经纪人一个接一个的新协议版本生效。一旦经纪人开始使用最新的协议版本,就再也不可能将集群降级为旧版本了。
- 如果您已按上面的指示重写了消息格式版本,那么您需要再进行一次滚动重新启动,以将其升级到最新版本。一旦所有(或大多数)消费者都升级到0.11.0或更晚,请更改日志。注意,不再维护的老的scala客户机不支持0.11中引入的消息格式,以避免转换成本(或利用 一旦语义学 ),必须使用较新的Java客户端。
改进以裂缝为基础的集群
如果您正在从3.3.0之前的版本升级,请参见下文步骤3中的注。一旦你改变了梅塔达塔。版本到了最新版本,就不可能降级到3.3-IV0之前的版本。
滚动升级:
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。
- 一旦集群的行为和性能得到验证,通过运行来撞击元模型。 ./bin/kafka-features.sh upgrade --metadata 3.5
- 注意,这个版本不支持集群元数据降级,因为它有元数据更改。每一个 厌恶元计算 在3.2.X之后,有一个布尔参数,表示是否有元数据变化(即。IBP_3_3_IV3(7, "3.3", "IV3", true) 意味着这个版本有元数据更改)。鉴于您的当前版本和目标版本,只有在版本之间没有元数据变化的情况下才有可能降级。
3.5.0的显著变化
- 卡夫卡流引入了一种新的状态存储类型,即版本键值存储,用于存储每个键的多个记录版本,从而使具有时间戳的检索操作能够在指定时间戳时返回最新记录(每个键)。看 KIP-889 和 KIP-914 更多的细节。如果DSL中使用了新的存储类型,则将改进的处理语义应用于DSL中。 KIP-914 .
- 通过 KIP-904 ,现在避免虚假的中间结果。
- 卡夫卡河ProductionExceptionHandler 是通过 KIP-399 ,现在也覆盖序列化错误。
- 镜像制造商现在默认情况下使用增量交换协议API来同步主题配置,而不是使用被弃用的Alter孔协议API。一种新的设置叫做use.incremental.alter.configs 引入允许用户控制使用哪个API。此新设置被标记为反对使用,并将在下一次主要发布时删除,此时将始终使用增量更改支持API。看 KIP-894 更多的细节。
- 已将JMXX工具、端到滞、流显示器、用户性能和集群工具迁移到工具模块。卡夫卡工具包被弃用,并将在下一次的主要发行中改为"或者"。看 KAFKA-14525 更多的细节。
升级到3.4.0,从任何0.8.X到3.3.X版本
如果您是在2.1.X之前从一个版本升级的,请参阅下面的说明,说明对用于存储消费者抵消的模式的更改。一旦你改变了内部.经纪人.协议书.版本到了最新版本,就不可能降级到在2.1之前的版本。
滚动升级:
- 更新所有经纪人的属性并添加下列属性。是指你正在升级的版本。当前的信息格式是指当前使用的消息格式版本。如果您先前已经覆盖了消息格式版本,那么您应该保留其当前值。或者,如果您是在0.11.0.X之前从一个版本升级的,那么应该将当前_消息_格式_文本设置为与当前_卡夫卡_文本匹配。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.3 ,3.2 , etc.)log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION (See 升级后的潜在业绩影响 关于此配置的细节。)如果您是从0.11.0.X或以上版本升级的,而且您没有覆盖消息格式,那么您只需要覆盖内部BRK协议版本。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.3 ,3.2 , etc.)
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。如果出现任何问题,此时仍有可能下调评级。
- 一旦集群的行为和性能被验证,通过编辑来改变协议版本 inter.broker.protocol.version 把它放在3.4 .
- 重新启动经纪人一个接一个的新协议版本生效。一旦经纪人开始使用最新的协议版本,就再也不可能将集群降级为旧版本了。
- 如果您已按上面的指示重写了消息格式版本,那么您需要再进行一次滚动重新启动,以将其升级到最新版本。一旦所有(或大多数)消费者都升级到了0.11.0或更晚,请更改日志。注意,不再维护的老的scala客户机不支持0.11中引入的消息格式,以避免转换成本(或利用 一旦语义学 ),必须使用较新的Java客户端。
将任何版本的3.0.X至3.3.X基于变形的集群升级为3.4.0
如果您正在从3.3.0之前的版本升级,请参阅下面的说明。一旦你改变了梅塔达塔。版本到了最新版本,就不可能降级到3.3-IV0之前的版本。
滚动升级:
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。
- 一旦集群的行为和性能得到验证,通过运行来撞击元模型。 ./bin/kafka-features.sh upgrade --metadata 3.4
- 注意,这个版本不支持集群元数据降级,因为它有元数据更改。每一个 厌恶元计算 在3.2.X之后,有一个布尔参数,表示是否有元数据变化(即。IBP_3_3_IV3(7, "3.3", "IV3", true) 意味着这个版本有元数据更改)。鉴于您的当前版本和目标版本,只有在版本之间没有元数据变化的情况下才有可能降级。
3.4.0的显著变化
- 自阿帕奇卡夫卡3.4.0以来,我们添加了一个系统属性("Org.apache.kafka.),以禁用SSAJAS配置中有问题的登录模块使用。在默认情况下,阿帕奇卡夫卡3.4.0禁用了"安全性"。
升级到3.3.1,从0.8.X到3.2.X任何版本
如果您是在2.1.X之前从一个版本升级的,请参阅下面的说明,说明对用于存储消费者抵消的模式的更改。一旦你改变了内部.经纪人.协议书.版本到了最新版本,就不可能降级到在2.1之前的版本。
滚动升级:
- 更新所有经纪人的属性并添加下列属性。是指你正在升级的版本。当前的信息格式是指当前使用的消息格式版本。如果您先前已经覆盖了消息格式版本,那么您应该保留其当前值。或者,如果您是在0.11.0.X之前从一个版本升级的,那么应该将当前_消息_格式_文本设置为与当前_卡夫卡_文本匹配。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.2 ,3.1 , etc.)log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION (See 升级后的潜在业绩影响 关于此配置的细节。)如果您是从0.11.0.X或以上版本升级的,而且您没有覆盖消息格式,那么您只需要覆盖内部BRK协议版本。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.2 ,3.1 , etc.)
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。如果出现任何问题,此时仍有可能下调评级。
- 一旦集群的行为和性能被验证,通过编辑来改变协议版本 inter.broker.protocol.version 把它放在3.3 .
- 重新启动经纪人一个接一个的新协议版本生效。一旦经纪人开始使用最新的协议版本,就再也不可能将集群降级为旧版本了。
- 如果您已按上面的指示重写了消息格式版本,那么您需要再进行一次滚动重新启动,以将其升级到最新版本。一旦所有(或大多数)消费者都升级到0.11.0或更晚,请更改日志。注意,不再维护的老的scala客户机不支持0.11中引入的消息格式,以避免转换成本(或利用 一旦语义学 ),必须使用较新的Java客户端。
将任何版本的3.0.X至3.2.X基于变形的集群升级为3.3.1
如果您正在从3.3.1之前的版本升级,请参阅下面的说明。一旦你改变了梅塔达塔。版本到了最新版本,就不可能降级到3.3-IV0之前的版本。
滚动升级:
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。
- 一旦集群的行为和性能得到验证,通过运行来撞击元模型。 ./bin/kafka-features.sh upgrade --metadata 3.3
- 注意,这个版本不支持集群元数据降级,因为它有元数据更改。每一个 厌恶元计算 在3.2.X之后,有一个布尔参数,表示是否有元数据变化(即。IBP_3_3_IV3(7, "3.3", "IV3", true) 意味着这个版本有元数据更改)。鉴于您的当前版本和目标版本,只有在版本之间没有元数据变化的情况下才有可能降级。
3.3.1的显著变化
- 克拉夫特模式正在生产新的集群。看 KIP-833 详情(包括限制)。
- 在默认情况下用于无键记录的分割器已经改进,以避免在一个或多个经纪人缓慢时出现病态行为。新的逻辑可能会影响到批处理行为,这种行为可以通过batch.size 和/或linger.ms 配置设置。通过设置可以恢复先前的行为partitioner.class=org.apache.kafka.clients.producer.internals.DefaultPartitioner .看 KIP-794 更多的细节。
- 如上文所述,卡夫集群目前的升级流程与ZK集群略有不同。
- 介绍了一种新的APIaddMetricIfAbsent 到Metrics 如果不存在,将创建一个新的度量,如果已经注册,则返回相同的度量。注意到这种行为不同于addMetric 把一个IllegalArgumentException 当试图创建一个已经存在的度量时。(见 KIP-843 更多详情)。
升级到3.2.0,从任何0.8.X到3.1.X版本
如果您是在2.1.X之前从一个版本升级的,请参阅下面的说明,说明对用于存储消费者抵消的模式的更改。一旦你改变了内部.经纪人.协议书.版本到了最新版本,就不可能降级到在2.1之前的版本。
滚动升级:
- 更新所有经纪人的属性并添加下列属性。是指你正在升级的版本。当前的信息格式是指当前使用的消息格式版本。如果您先前已经覆盖了消息格式版本,那么您应该保留其当前值。或者,如果您是在0.11.0.X之前从一个版本升级的,那么应该将当前_消息_格式_文本设置为与当前_卡夫卡_文本匹配。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.1 ,3.0 , etc.)log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION (See 升级后的潜在业绩影响 关于此配置的细节。)如果您是从0.11.0.X或以上版本升级的,而且您没有覆盖消息格式,那么您只需要覆盖内部BRK协议版本。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.1 ,3.0 , etc.)
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。如果出现任何问题,此时仍有可能下调评级。
- 一旦集群的行为和性能被验证,通过编辑来改变协议版本 inter.broker.protocol.version 把它放在3.2 .
- 重新启动经纪人一个接一个的新协议版本生效。一旦经纪人开始使用最新的协议版本,就再也不可能将集群降级为旧版本了。
- 如果您已按上面的指示重写了消息格式版本,那么您需要再进行一次滚动重新启动,以将其升级到最新版本。一旦所有(或大多数)消费者都升级到0.11.0或更晚,请更改日志。注意,不再维护的老的scala客户机不支持0.11中引入的消息格式,以避免转换成本(或利用 一旦语义学 ),必须使用较新的Java客户端。
3.2.0的显著变化
- 如果没有设置冲突的配置,则默认启用生产者的等值性。当生产给2.08岁以上的经纪人时,IDEMPOTENT_WRITE 必须获得许可。检查兼容性部分 KIP-679 关于细节。在3.0.0和3.1.0中,一个错误阻止了该默认值的应用,这意味着除非用户明确设置,否则等离子性仍然无效。enable.idempotence (见 KAFKA-13598 更多详情)。这一问题已经解决,在3.1.1、3.1.1和3.2.0中适当适用了默认情况。
- 一个值得注意的例外是连接,在默认情况下,它的所有生产者都禁用了等位性行为,以便使用广泛的卡夫卡代理版本一致支持。用户可以通过连接工作人员和/或连接器配置,改变这种行为,为部分或所有生产者启用等离子。连接可以在默认情况下,在未来的主要版本中使等离子生产商。
- 卡夫卡出于安全考虑,已经用重新设计的4J替换了LO4J。这只会影响到指定记录后端的模块(connect-runtime 和kafka-tools 这是两个例子)。一些模块,包括kafka-clients ,让应用程序指定日志后端。详情请浏览 重新部署4j .依赖卡夫卡项目受影响模块的项目应使用 1.7.35或以上版本 或以避免 伐木框架可能引起的兼容性问题 .
- 例如连接器,FileStreamSourceConnector 和FileStreamSinkConnector ,已从默认类路径中删除。要在卡夫卡连接独立或分布式模式中使用它们,需要显式添加,例如CLASSPATH=./libs/connect-file-3.2.0.jar ./bin/connect-distributed.sh .
升级到3.1.0,从任何0.8.X到3.0.X版本
如果您是在2.1.X之前从一个版本升级的,请参阅下面的说明,说明对用于存储消费者抵消的模式的更改。一旦你改变了内部.经纪人.协议书.版本到了最新版本,就不可能降级到在2.1之前的版本。
滚动升级:
- 更新所有经纪人的属性并添加下列属性。是指你正在升级的版本。当前的信息格式是指当前使用的消息格式版本。如果您先前已经覆盖了消息格式版本,那么您应该保留其当前值。或者,如果您是在0.11.0.X之前从一个版本升级的,那么应该将当前_消息_格式_文本设置为与当前_卡夫卡_文本匹配。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.0 ,2.8 , etc.)log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION (See 升级后的潜在业绩影响 关于此配置的细节。)如果您是从0.11.0.X或以上版本升级的,而且您没有覆盖消息格式,那么您只需要覆盖内部BRK协议版本。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.3.0 ,2.8 , etc.)
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。如果出现任何问题,此时仍有可能下调评级。
- 一旦集群的行为和性能被验证,通过编辑来改变协议版本 inter.broker.protocol.version 把它放在3.1 .
- 重新启动经纪人一个接一个的新协议版本生效。一旦经纪人开始使用最新的协议版本,就再也不可能将集群降级为旧版本了。
- 如果您已按上面的指示重写了消息格式版本,那么您需要再进行一次滚动重新启动,以将其升级到最新版本。一旦所有(或大多数)消费者都升级到0.11.0或更晚,请更改日志。注意,不再维护的老的scala客户机不支持0.11中引入的消息格式,以避免转换成本(或利用 一旦语义学 ),必须使用较新的Java客户端。
3.1.1的显著变化
- 如果没有设置冲突的配置,则默认启用生产者的等值性。当生产给2.08岁以上的经纪人时,IDEMPOTENT_WRITE 必须获得许可。检查兼容性部分 KIP-679 关于细节。一个错误阻止了生产者等功能默认应用,这意味着它仍然是禁用的,除非用户明确设置enable.idempotence 为了真实。看 KAFKA-13598 更多的细节。这个问题已经解决了,默认的应用是正确的。
- 一个值得注意的例外是连接,在默认情况下,它的所有生产者都禁用了等位性行为,以便使用广泛的卡夫卡代理版本一致支持。用户可以通过连接工作人员和/或连接器配置,改变这种行为,为部分或所有生产者启用等离子。连接可以在默认情况下,在未来的主要版本中使等离子生产商。
- 卡夫卡出于安全考虑,已经用重新设计的4J替换了LO4J。这只会影响到指定记录后端的模块(connect-runtime 和kafka-tools 这是两个例子)。一些模块,包括kafka-clients ,让应用程序指定日志后端。详情请浏览 重新部署4j .依赖卡夫卡项目受影响模块的项目应使用 1.7.35或以上版本 或以避免 伐木框架可能引起的兼容性问题 .
3.1.0的显著变化
- 阿帕奇卡夫卡支持Java17。
- 以下指标被否决:bufferpool-wait-time-total ,io-waittime-total ,以及iotime-total .请使用bufferpool-wait-time-ns-total ,io-wait-time-ns-total ,以及io-time-ns-total 相反。看 KIP-773 更多的细节。
- IBM3.1将主题ID作为请求的一部分 KIP-516 .
升级到3.0.1,从任何0.8.X到2.8.X版本
如果您是在2.1.X之前从一个版本升级的,请参阅下面的说明,说明对用于存储消费者抵消的模式的更改。一旦你改变了内部.经纪人.协议书.版本到了最新版本,就不可能降级到在2.1之前的版本。
滚动升级:
- 更新所有经纪人的属性并添加下列属性。是指你正在升级的版本。当前的信息格式是指当前使用的消息格式版本。如果您先前已经覆盖了消息格式版本,那么您应该保留其当前值。或者,如果您是在0.11.0.X之前从一个版本升级的,那么应该将当前_消息_格式_文本设置为与当前_卡夫卡_文本匹配。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.2.8 ,2.7 , etc.)log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION (See 升级后的潜在业绩影响 关于此配置的细节。)如果您是从0.11.0.X或以上版本升级的,而且您没有覆盖消息格式,那么您只需要覆盖内部BRK协议版本。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.2.8 ,2.7 , etc.)
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。如果出现任何问题,此时仍有可能下调评级。
- 一旦集群的行为和性能被验证,通过编辑来改变协议版本 inter.broker.protocol.version 把它放在3.0 .
- 重新启动经纪人一个接一个的新协议版本生效。一旦经纪人开始使用最新的协议版本,就再也不可能将集群降级为旧版本了。
- 如果您已按上面的指示重写了消息格式版本,那么您需要再进行一次滚动重新启动,以将其升级到最新版本。一旦所有(或大多数)消费者都升级到0.11.0或更晚,请更改日志。注意,不再维护的老的scala客户机不支持0.11中引入的消息格式,以避免转换成本(或利用 一旦语义学 ),必须使用较新的Java客户端。
3.0.1的显著变化
- 如果没有设置冲突的配置,则默认启用生产者的等值性。当生产给2.08岁以上的经纪人时,IDEMPOTENT_WRITE 必须获得许可。检查兼容性部分 KIP-679 关于细节。一个错误阻止了生产者等功能默认应用,这意味着它仍然是禁用的,除非用户明确设置enable.idempotence 为了真实。看 KAFKA-13598 更多的细节。这个问题已经解决了,默认的应用是正确的。
3.0.0的显著变化
- 生产商在默认情况下有更强的交货保证:idempotence 已经启用acks 准备好all 代替1 .看 KIP-679 关于细节。在3.0.0和3.1.0中,一个错误阻止了应用等离子默认值,这意味着它仍然是禁用的,除非用户明确设置 enable.idempotence 为了真实。注意,这个错误并没有影响到acks=all 变了。看 KAFKA-13598 更多的细节。这一问题已经解决,在3.1.1、3.1.1和3.2.0中适当适用了默认情况。
- 自阿帕奇卡夫卡3.0以来,jav8和scala2.12的支持被否决,并将在阿帕奇卡夫卡4.0中删除。看 KIP-750 和 KIP-751 更多的细节。
- 动物饲养员已经升级到3.6.3版本。
- 虽然无法从2.8早期访问版本升级到卡夫模式,但是可以提供预览。看到 克拉夫特区 关于细节。
- 释放的柏油球不再包括测试,来源,javadOC和测试来源罐。这些内容仍然发布到MAVIN中央存储库。
- 一些执行依赖罐 现在可用运行时类路径代替编译和运行时类路径 .升级后的编译错误可以通过显式添加缺失的依赖性JAR或更新应用程序而不使用内部类来修正。
- 使用者配置的默认值session.timeout.ms 从10秒增加到45秒。看 KIP-735 更多的细节。
- 代理配置log.message.format.version 和主题配置message.format.version 已经被拒绝了。两种配置的价值总是假定为3.0 如果inter.broker.protocol.version 是3.0 或者更高。如果log.message.format.version 或message.format.version 我们建议你在清理文件的同时 inter.broker.protocol.version 升级至3.0。这将避免潜在的兼容性问题,如果inter.broker.protocol.version 已经降级了。看 KIP-724 更多的细节。
- 流API删除了在2.5.0版本或更早版本中被弃用的所有已弃用的API。完整的删除API列表比较详细的卡夫卡流升级笔记。
- 卡夫卡流不再依赖于"连接:JSON"模块( 卡夫卡-5146 )。依赖于这种传递依赖的项目将不得不明确地声明它。
- 通过principal.builder.class 现在必须实施 KafkaPrincipalSerde 接口允许经纪人之间的转发。看 KIP-590 欲了解更多关于卡夫卡普林普塞尔德使用的细节。
- 一些被弃用的类、方法和工具已经从clients ,connect ,core 和tools 模块:
- 斯卡拉河Authorizer ,SimpleAclAuthorizer 相关课程也被取消了。请使用爪哇Authorizer 和AclAuthorizer 相反。
- …Metric#value() 移除方法( KAFKA-12573 ).
- …Sum 和Total 取消课程( KAFKA-12584 )。请使用WindowedSum 和CumulativeSum 相反。
- …Count 和SampledTotal 学校被取消了。请使用WindowedCount 和WindowedSum 分别的。
- …PrincipalBuilder ,DefaultPrincipalBuilder 和ResourceFilter 学校被取消了。
- 不同的常数和构造函数从SslConfigs ,SaslConfigs ,AclBinding 和 AclBindingFilter .
- …Admin.electedPreferredLeaders() 方法被删除。请使用Admin.electLeaders 相反。
- …kafka-preferred-replica-election 命令行工具被移除。请使用kafka-leader-election 相反。
- …--zookeeper 备选办法被从kafka-topics 和kafka-reassign-partitions 命令行工具。请使用--bootstrap-server 相反。
- 在…中kafka-configs 命令行工具--zookeeper 只支持更新备选办法 语法证书配置 和 描述/更新动态经纪人确认当经纪人不运行时 .请使用--bootstrap-server 用于其他配置操作。
- …ConfigEntry 建筑物已移走( KAFKA-12577 )。请使用剩余的公共构造函数。
- 配置值default 客户端配置client.dns.lookup 已经移走了。在不太可能明确设置此配置的情况下,我们建议不要设置配置(use_all_dns_ips 默认使用)。
- …ExtendedDeserializer 和ExtendedSerializer 班级已经取消。请使用Deserializer 和Serializer 相反。
- …close(long, TimeUnit) 方法从生产者、消费者和管理员客户端删除。请使用 close(Duration) .
- …ConsumerConfig.addDeserializerToConfig 和ProducerConfig.addSerializerToConfig 方法被删除。这些方法的目的不是公共API,也没有替代方法。
- …NoOffsetForPartitionException.partition() 方法被删除。请使用partitions() 相反。
- 默认的partition.assignment.strategy 改为"[范围转让人,合作转让人]",在违约情况下将使用范围转让人,但只允许一次滚动反弹,将范围转让人从清单中删除。请检查客户端升级路径指南 在这里 更多的细节。
- 斯卡拉河kafka.common.MessageFormatter 已经移走了。请使用爪哇org.apache.kafka.common.MessageFormatter .
- …MessageFormatter.init(Properties) 方法被删除。请使用configure(Map) 相反。
- …checksum() 方法已经删除ConsumerRecord 和RecordMetadata .消息格式v2自0.11以来一直是默认的,它将检查和从记录移到记录批处理。因此,这些方法没有意义,没有替代物。
- …ChecksumMessageFormatter 上课被取消了。它不是公共空气污染指数的一部分,但它可能被用于kafka-console-consumer.sh .它报告了每个记录的检查和,自消息格式V2以来一直没有支持这些记录。
- …org.apache.kafka.clients.consumer.internals.PartitionAssignor 班级被取消了。请使用 org.apache.kafka.clients.consumer.ConsumerPartitionAssignor 相反。
- …quota.producer.default 和quota.consumer.default 配置被删除( KAFKA-12591 )。必须使用动态配额默认值。
- …port 和host.name 配置被删除。请使用listeners 相反。
- …advertised.port 和advertised.host.name 配置被删除。请使用advertised.listeners 相反。
- 不受欢迎的工人配置rest.host.name 和rest.port 已移走( KAFKA-12482 )来自卡夫卡连接工人配置。请使用listeners 相反。
- …Producer#sendOffsetsToTransaction(Map offsets, String consumerGroupId) 方法被反对。请使用 Producer#sendOffsetsToTransaction(Map offsets, ConsumerGroupMetadata metadata) 相反,在哪里ConsumerGroupMetadata 可透过KafkaConsumer#groupMetadata() 更有力的语义。请注意,只有经纪人或2.5版本或更高版本才能理解完整的消费者群体元数据集,因此必须升级您的卡夫卡集群以获得更强的语义。否则,你可以随便进去new ConsumerGroupMetadata(consumerGroupId) 与老经纪人合作。看 KIP-732 更多的细节。
- 连接internal.key.converter 和internal.value.converter 所有的财产 远离的 .自从2.0.0版本以来,这些连接工人属性的使用就被弃用了。现在工人们使用JSON转换器schemas.enable 开始false .如果您的集群使用了不同的内部键或值转换器,则可以遵循以下概述的迁移步骤: KIP-738 安全地将您的连接集群升级到3.0.
- 基于连接的镜像制造器(MM2)包括支持的更改IdentityReplicationPolicy ,在不重命名主题的情况下启用复制。现有的DefaultReplicationPolicy 在默认情况下仍然使用,但是身份复制可以通过 replication.policy 配置属性。这对于从旧的镜像制造器(MM1)迁移的用户特别有用,对于使用简单的单向复制拓扑的用户也特别有用,因为在这种情况下,主题重命名是不可取的。注意IdentityReplicationPolicy ,不像 DefaultReplicationPolicy ,无法阻止基于主题名称的复制周期,所以在构造复制拓扑时要注意避免循环。
- 原来的镜像制造器(MM1)和相关的类已被弃用。请使用连结式镜子制造器(MM2),如 地理复制科 .
升级到2.8.1,从0.8.x到2.7.x
如果您是在2.1.X之前从一个版本升级的,请参阅下面的说明,说明对用于存储消费者抵消的模式的更改。一旦你改变了内部.经纪人.协议书.版本到了最新版本,就不可能降级到在2.1之前的版本。
滚动升级:
- 更新所有经纪人的属性并添加下列属性。是指你正在升级的版本。当前的信息格式是指当前使用的消息格式版本。如果您先前已经覆盖了消息格式版本,那么您应该保留其当前值。或者,如果您是在0.11.0.X之前从一个版本升级的,那么应该将当前_消息_格式_文本设置为与当前_卡夫卡_文本匹配。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.2.7 ,2.6 , etc.)log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION (See 升级后的潜在业绩影响 关于此配置的细节。)如果您是从0.11.0.X或以上版本升级的,而且您没有覆盖消息格式,那么您只需要覆盖内部BRK协议版本。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.2.7 ,2.6 , etc.)
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。如果出现任何问题,此时仍有可能下调评级。
- 一旦集群的行为和性能被验证,通过编辑来改变协议版本 inter.broker.protocol.version 把它放在2.8 .
- 重新启动经纪人一个接一个的新协议版本生效。一旦经纪人开始使用最新的协议版本,就再也不可能将集群降级为旧版本了。
- 如果您已按上面的指示重写了消息格式版本,那么您需要再进行一次滚动重新启动,以将其升级到最新版本。一旦所有(或大多数)消费者都升级到0.11.0或更晚,请更改日志。注意,不再维护的老的scala客户机不支持0.11中引入的消息格式,以避免转换成本(或利用 一旦语义学 ),必须使用较新的Java客户端。
2.8.0的显著变化
- 2.8.0发布版增加了一种新的方法,使授权人界面上引入了 KIP-679 .动机是解除我们的未来计划,在默认情况下启用最强的消息传递保证。定制授权者应该考虑提供一个更有效的实现,支持审计日志记录和任何定制确认或访问规则。
- 将主题ID作为主题的一部分引入到主题中。 KIP-516 .使用动物园管理员时,这些信息存储在主题节点中。如果集群被降级为以前的IBP或版本,未来的主题将不会得到主题ID,并且不能保证主题会在动物园管理员中保留它们的主题ID。这意味着在再次升级时,一些主题或所有主题将被分配给新的ID。
- 卡夫卡流介绍了一种类型安全的split() 操作符代替被弃的操作符KStream#branch() 方法(参见。 KIP-418 ).
从0.8.X到2.6.X升级到2.7.0
如果您是在2.1.X之前从一个版本升级的,请参阅下面的说明,说明对用于存储消费者抵消的模式的更改。一旦你改变了内部.经纪人.协议书.版本到了最新版本,就不可能降级到在2.1之前的版本。
滚动升级:
- 更新所有经纪人的属性并添加下列属性。是指你正在升级的版本。当前的信息格式是指当前使用的消息格式版本。如果您先前已经覆盖了消息格式版本,那么您应该保留其当前值。或者,如果您是在0.11.0.X之前从一个版本升级的,那么应该将当前_消息_格式_文本设置为与当前_卡夫卡_文本匹配。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.2.6 ,2.5 , etc.)log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION (See 升级后的潜在业绩影响 关于此配置的细节。)如果您是从0.11.0.X或以上版本升级的,而且您没有覆盖消息格式,那么您只需要覆盖内部BRK协议版本。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.2.6 ,2.5 , etc.)
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。如果出现任何问题,此时仍有可能下调评级。
- 一旦集群的行为和性能被验证,通过编辑来改变协议版本 inter.broker.protocol.version 把它放在2.7 .
- 重新启动经纪人一个接一个的新协议版本生效。一旦经纪人开始使用最新的协议版本,就再也不可能将集群降级为旧版本了。
- 如果您已按上面的指示重写了消息格式版本,那么您需要再进行一次滚动重新启动,以将其升级到最新版本。一旦所有(或大多数)消费者都升级到0.11.0或更晚,请更改日志。注意,不再维护的老的scala客户机不支持0.11中引入的消息格式,以避免转换成本(或利用 一旦语义学 ),必须使用较新的Java客户端。
2.7.0的显著变化
- 2.7.0版本包括在 KIP-595 .有一个单独的"筏"模块包含大部分逻辑。在与控制器的集成完成之前,有一个独立的服务器,用户可以使用它来测试LAP实现的性能。详细信息请参阅木筏模块中的阅读材料
- KIP-651 补充支助 用于键和信任存储中使用PEM文件。
- KIP-612 补充支助 执行经纪人和每个听众的连接创造利率。2.7.0版本包含KIP-612的第一部分,动态配置在2.8.0版本中出现。
- 抑制主题和分区创建或主题删除的能力,以防止集群受到损害。 KIP-599
- 当卡夫卡出现新的功能时,有两个主要问题:卡夫卡客户是如何意识到经纪人的能力的?经纪人如何决定要启用哪些功能?KIP-584 为客户端发现提供了一个灵活且操作简单的解决方案,它使用一个重新启动功能来实现主控和滚动升级。
- 打印记录的能力抵消和标题ConsoleConsumer 现在可以通过 KIP-431
- 增加 KIP-554 继续推进动物园管理员远离卡夫卡的目标。增加KIP-554意味着您不再需要直接连接到动物园管理员来管理斯拉姆凭证。
- 改变现有听众的不可重构承诺InvalidRequestException .相比之下,以前的(意想不到的)行为会导致持续更新配置,但在重新启动代理之前不会生效。看 KAFKA-10479 为了更多的讨论。看DynamicBrokerConfig.DynamicSecurityConfigs 和SocketServer.ListenerReconfigurableConfigs 对于现有的侦听器支持的可重构的约定。
- 卡夫卡流补充支持 滑动窗口聚合 在克兰兹DSL。
- 在状态存储上进行反向迭代,使最新的更新搜索更有效率。 KIP-617
- 卡夫卡蒸汽中的端到端延迟度量 KIP-613 欲知详情
- 卡夫卡流增加了度量,报告默认的Rosdb属性 KIP-607
- 更好的支持者 KIP-616
升级到2.6.0,从0.8.X到2.5.X
如果您是在2.1.X之前从一个版本升级的,请参阅下面的说明,说明对用于存储消费者抵消的模式的更改。一旦你改变了内部.经纪人.协议书.版本到了最新版本,就不可能降级到在2.1之前的版本。
滚动升级:
- 更新所有经纪人的属性并添加下列属性。是指你正在升级的版本。当前的信息格式是指当前使用的消息格式版本。如果您先前已经覆盖了消息格式版本,那么您应该保留其当前值。或者,如果您是在0.11.0.X之前从一个版本升级的,那么应该将当前_消息_格式_文本设置为与当前_卡夫卡_文本匹配。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.2.5 ,2.4 , etc.)log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION (See 升级后的潜在业绩影响 关于此配置的细节。)如果您是从0.11.0.X或以上版本升级的,而且您没有覆盖消息格式,那么您只需要覆盖内部BRK协议版本。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.2.5 ,2.4 , etc.)
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。如果出现任何问题,此时仍有可能下调评级。
- 一旦集群的行为和性能被验证,通过编辑来改变协议版本 inter.broker.protocol.version 把它放在2.6 .
- 重新启动经纪人一个接一个的新协议版本生效。一旦经纪人开始使用最新的协议版本,就再也不可能将集群降级为旧版本了。
- 如果您已按上面的指示重写了消息格式版本,那么您需要再进行一次滚动重新启动,以将其升级到最新版本。一旦所有(或大多数)消费者都升级到0.11.0或更晚,请更改日志。注意,不再维护的老的scala客户机不支持0.11中引入的消息格式,以避免转换成本(或利用 一旦语义学 ),必须使用较新的Java客户端。
2.6.0的显著变化
- 卡夫卡流添加了一种新的处理模式(需要代理2.5或更新),它使用精确的一旦保证(CF)提高了应用程序的可伸缩性。 KIP-447 )
- Tlsv1.3默认情况下启用了Java11或较新的.如果客户机和服务器都支持Tlsv1.3,并支持Tlsv1.2,那么它们将进行谈判。看 KIP-573 更多的细节。
- 的默认值client.dns.lookup 结构已经从default 到use_all_dns_ips .如果主机名解析到多个IP地址,客户机和经纪人现在将尝试按顺序连接到每个IP,直到成功地建立连接。看 KIP-602 更多的细节。
- NotLeaderForPartitionException 已被否决,代之以NotLeaderOrFollowerException .如果代理不是复制品,则获取请求和其他仅为领导者或追随者返回的请求,而不是复制(9),确保所有客户机将重新分配期间的这个短暂错误作为可检索异常处理。
升级到2.5.0,从任何0.8.X到2.4.X版本
如果您是在2.1.X之前从一个版本升级的,请参阅下面的说明,说明对用于存储消费者抵消的模式的更改。一旦你改变了内部.经纪人.协议书.版本到了最新版本,就不可能降级到在2.1之前的版本。
滚动升级:
- 更新所有经纪人的属性并添加下列属性。是指你正在升级的版本。当前的信息格式是指当前使用的消息格式版本。如果您先前已经覆盖了消息格式版本,那么您应该保留其当前值。或者,如果您是在0.11.0.X之前从一个版本升级的,那么应该将当前_消息_格式_文本设置为与当前_卡夫卡_文本匹配。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.2.4 ,2.3 , etc.)log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION (See 升级后的潜在业绩影响 关于此配置的细节。)如果您是从0.11.0.X或以上版本升级的,而且您没有覆盖消息格式,那么您只需要覆盖内部BRK协议版本。inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.2.4 ,2.3 , etc.)
- 一次升级经纪人:关闭经纪人,更新代码,并重新启动它。一旦您这样做了,经纪人将运行最新版本,您可以验证集群的行为和性能符合预期。如果出现任何问题,此时仍有可能下调评级。
- 一旦集群的行为和性能被验证,通过编辑来改变协议版本 inter.broker.protocol.version 把它放在2.5 .
- 重新启动经纪人一个接一个的新协议版本生效。一旦经纪人开始使用最新的协议版本,就再也不可能将集群降级为旧版本了。
- 如果您已按上面的指示重写了消息格式版本,那么您需要再进行一次滚动重新启动,以将其升级到最新版本。一旦所有(或大多数)消费者都升级到0.11.0或更晚,请更改日志。注意,不再维护的老的scala客户机不支持0.11中引入的消息格式,以避免转换成本(或利用 一旦语义学 ),必须使用较新的Java客户端。
- 改派工具有若干显著变化kafka-reassign-partitions.sh 完成后 KIP-455 .这个工具现在需要--additional 当更换主动重新分配的节流阀时提供旗。现在可以使用 --cancel 指挥官。最后,调到--zookeeper 已经被反对了--bootstrap-server .详情请参阅"基普"。
2.5.0的显著变化
- 何时RebalanceProtocol#COOPERATIVE 已经被使用了,Consumer#poll 仍然可以返回数据,而它是在重新平衡那些仍然由消费者拥有的分区的中间; Consumer#commitSync 现在可以扔一个非致命的RebalanceInProgressException 将这类事件通知使用者,以便区别于致命事件。CommitFailedException 并允许用户完成正在进行的重新平衡,然后重新尝试为那些仍然拥有的分区提交补偿。
- 为了提高典型网络环境中的弹性, zookeeper.session.timeout.ms 从6分增加到18分 replica.lag.time.max.ms 从10岁到30岁。
- 新的DSL操作员cogroup() 为同时聚合多个流而添加。
- 增加了一个新的KStream.toTable() 将输入事件流转换为KTAD.
- 增加了一种新的服务类型Void 从输入主题中表示空键或空值.
- 反对UsePreviousTimeOnInvalidTimestamp 把它换成UsePartitionTimeOnInvalidTimeStamp .
- 通过添加挂起的偏移围栏机制和更强有力的事务提交一致性检查,非常有效地改进了语义,这大大简化了可伸缩应用程序的实现。我们还在下面添加了一个新的语义代码示例。 例子 文件夹。结帐 KIP-447 所有的细节。
- 增加新的公共空气污染指数KafkaStreams.queryMetadataForKey(String, K, Serializer) to get detailed information on the key being queried. It provides information about the partition number where the key resides in addition to hosts containing the active and standby partitions for the key.
- 支持通过弃用来查询陈旧的存储器(对于高可用性)和属于特定分区的存储器KafkaStreams.store(String, QueryableStoreType) 代之以KafkaStreams.store(StoreQueryParameters) .
- 增加了一个新的公共API,用于访问本地存储库到一个实例的滞后信息。KafkaStreams.allLocalStorePartitionLags() .
- 斯卡拉2.11不再支持。看 KIP-531 关于细节。
- 包里所有的斯卡拉类kafka.security.auth 已经被拒绝了。看 KIP-504 有关2.4.0中新增的Java授权人API的详情。注意kafka.security.auth.Authorizer 和kafka.security.auth.SimpleAclAuthorizer 在2.4.0中被否决。
- Tlsv1和Tlsv1.1是默认禁用的,因为它们具有已知的安全漏洞。现在默认情况下只启用TLSV1.2。通过在配置选项中显式启用这两个选项,您可以继续使用Tlsv1和Tlsv1.1 ssl.protocol 和ssl.enabled.protocols .
- 动物饲养员已经升级到3.5.7,如果3.4数据目录中没有快照文件,动物饲养员从3.4.x升级到3.5.7就会失败。这通常发生在测试升级中,动物园管理员3.5.7试图加载一个没有创建快照文件的现有3.4数据Dir。详情请参阅 动物园-3056 .一个修正在 动物园-3056 ,也就是说snapshot.trust.empty=true 安装zookeeper.properties 在升级之前。
- 动物饲养员版本3.5.7支持TLS加密连接到动物饲养员,无论是否有客户证书,并可利用额外的卡夫卡配置。看 KIP-515 关于细节。
相关推荐
- 得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践
-
一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...
- warm-flow新春版:网关直连和流程图重构
-
本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...
- 扣子空间体验报告
-
在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...
- spider-flow:开源的可视化方式定义爬虫方案
-
spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...
- solon-flow 你好世界!
-
solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...
- 新一代开源爬虫平台:SpiderFlow
-
SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...
- 通过 SQL 训练机器学习模型的引擎
-
关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...
- 鼠须管输入法rime for Mac
-
鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...
- Go语言 1.20 版本正式发布:新版详细介绍
-
Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...
- iOS 10平台SpriteKit新特性之Tile Maps(上)
-
简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...
- 程序员简历例句—范例Java、Python、C++模板
-
个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...
- Telerik UI for iOS Q3 2015正式发布
-
近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...
- ios使用ijkplayer+nginx进行视频直播
-
上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...
- IOS技术分享|iOS快速生成开发文档(一)
-
前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...
- macOS下配置VS Code C++开发环境
-
本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- httperror403.14-forbidden (63)
- logstashinput (65)
- hadoop端口 (65)
- dockernetworkconnect (63)
- esxi7 (63)
- vue阻止冒泡 (67)
- c#for循环 (63)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- java大写转小写 (63)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)