集群升级
文中的出现的BE二进制文件名称 ,在之前的版本中为 palo_be
。
关闭集群副本修复和均衡功能
当集群升级完毕后,在通过以上命令将对应配置设为原值即可。
测试 BE 升级正确性
任意选择一个 BE 节点,部署最新的 doris_be 二进制文件。
如果启动失败,可以先排查原因。如果错误不可恢复,可以直接通过 DROP BACKEND 删除该 BE、清理数据后,使用上一个版本的 doris_be 重新启动 BE。然后重新 ADD BACKEND。(该方法会导致丢失一个数据副本,请务必确保3副本完整的情况下,执行这个操作!!!)
安装 Java UDF 函数
SinceVersion 1.2.0安装 Java UDF 函数: , 因为从1.2 版本开始支持Java UDF 函数,需要从官网下载 Java UDF 函数的 JAR 包放到 BE 的 lib 目录下,否则可能会启动失败。
- 重要!!元数据兼容性异常很可能导致数据无法恢复!!
- 单独使用新版本部署一个测试用的 FE 进程(建议在自己本地的开发机,或者BE节点。如果在Follower或者Observer节点上,需要停止启动的进程,但是不建议在Follower或者Observer节点上测试)。
- 修改测试用的 FE 的配置文件 fe.conf,将所有端口设置为与线上不同。
- 在 fe.conf 添加配置:cluster_id=123456
- 在 fe.conf 添加配置:metadata_failure_recovery=true
- 将拷贝到测试环境中的 doris-meta/image/VERSION 文件中的 cluster_id 修改为 123456(即与第3步中相同)
- 在测试环境中,运行 sh bin/start_fe.sh 启动 FE
- 通过 FE 日志 fe.log 观察是否启动成功。
- 如果启动成功,运行 sh bin/stop_fe.sh 停止测试环境的 FE 进程。
- 以上 2-6 步的目的是防止测试环境的FE启动后,错误连接到线上环境中。
升级准备
- 在完成数据正确性验证后,将 BE 和 FE 新版本的二进制文件分发到各自目录下。
- 原则上版本升级需要替换 FE 和 BE 的 lib 目录以及 bin 目录,和除 conf 目录、数据目录(FE 的 doris-meta,BE 的 storage)、log 目录外的其他目录。
- 确认新版本的文件部署完成后。逐台重启 FE 和 BE 实例即可。
- 建议逐台重启 BE 后,再逐台重启 FE。因为通常 Doris 保证 FE 到 BE 的向后兼容性,即老版本的 FE 可以访问新版本的 BE。但可能不支持老版本的 BE 访问新版本的 FE。
关于版本回滚
非法的回滚操作可能导致数据丢失和损坏。