更新时间:2024-07-18 GMT+08:00

升级Kafka实例内核版本

升级Kafka实例内核版本指的是将老的内核版本升级到最新的内核版本,升级后,Kafka实例将支持一些新的特性(例如支持在控制台创建消费组、支持查看Topic详情等),并且修复老版本的一些问题。

升级Kafka实例内核版本并非升级Kafka实例的版本,例如升级前Kafka版本为2.7,升级内核版本后,Kafka版本还是2.7。

升级内核版本的影响

  • 若Topic为单副本,升级期间无法对该Topic生产消息或消费消息,会造成业务中断。
  • 若Topic为多副本,升级不会造成服务中断,但可能会导致消费的分区消息发生乱序,请谨慎评估业务影响,建议您在业务低峰期升级。
  • 升级过程中节点滚动重启造成分区Leader切换,会发生秒级连接闪断,在用户网络环境稳定的前提下,Leader切换时长一般为1分钟以内。多副本的Topic需要在生产客户端配置重试机制,方法如下:
    • 生产客户端为Kafka开源客户端时,检查是否配置retries参数,建议此参数值设置为3~5。
    • 生产客户端为Flink客户端时,检查是否配置重启策略,配置重启策略可以参考如下代码。
      StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
      env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, Time.seconds(20)));

前提条件

  • Kafka实例的状态为“运行中”时,才能升级Kafka实例内核版本。
  • Kafka实例内核版本不是最新时,控制台才显示“升级”功能。

升级Kafka实例内核版本

  1. 登录管理控制台。
  2. 在管理控制台左上角单击,选择区域。

    请选择Kafka实例所在的区域。

  3. 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka版”,进入分布式消息服务Kafka专享版页面。
  4. 在待升级内核版本的Kafka实例所在行,选择“更多 > 升级”,弹出“版本升级”对话框。

    如果Kafka实例内核版本已经是最新,控制台不显示“更多 > 升级”功能。

  5. 选择执行时间,支持“立即执行”和“定时执行”。

    如果选择“定时执行”,还需要指定执行时间。

  6. 在“风险检查”区域,查看升级前的检查项是否正常。

    如果检查项有异常,请先根据提示信息修改,然后单击“重新检查”。如果确认异常的检查项无需修改,请勾选“我已知晓风险。”。

  7. 单击“确定”。

    立即执行和定时执行查看升级是否完成的方法不同,具体如下:

    表1 查看升级结果

    执行方式

    升级结果

    立即执行

    1. 单击升级实例名称,进入实例详情页。
    2. 在左侧导航栏单击“后台任务管理”,进入“后台任务管理”页面。
    3. 在“后台任务”页签中,查看升级任务的状态。
      • 当任务的“状态”为“成功”时,表示升级完成。
      • 当任务的“状态”为“失败”时,表示升级失败,请联系客服处理。

    定时执行

    1. 单击升级实例名称,进入实例详情页。
    2. 在左侧导航栏单击“后台任务管理”,进入“后台任务管理”页面。
    3. 在“定时任务”页签中,查看升级任务是否开始执行。
      • 当“状态”为“待执行”时,表示升级任务未执行。
      • 当“状态”为“成功”时,表示升级任务开始执行。
    4. 在“后台任务”页签中,查看升级任务的状态。
      • 当任务的“状态”为“成功”时,表示升级完成。
      • 当任务的“状态”为“失败”时,表示升级失败,请联系客服处理。

修改定时升级任务

  1. 在“后台任务管理”页面的“定时任务”页签中,单击页面左上角下拉框,选择时间段,在搜索对话框中输入“版本升级”,按“Enter”,快速查找定时升级任务。
  2. 在待修改的定时升级任务后,单击“修改”。
  3. 在弹出的“修改定时任务”对话框中,您可以修改定时升级任务的时间,还可以取消定时升级任务,具体操作如下。

    • 修改定时升级任务的时间:修改时间,单击“确定”。
    • 取消定时升级任务:选择“取消”,单击“确定”。