Apache Doris 能够通过滚动降级的形式,平滑进行降级。降级程序是先降级BE,再降级FE,不能颠倒降级程序。Doris保障BE向后兼容FE。
降级的过程能够分为:
- 测试 Doris BE 降级的正确性,
- 测试 Doris FE 元数据兼容,
- 滚动降级
- 察看降级后的集群服务
注:
1.为了保障在集群降级过程中,Doris服务是可用的,倡议Doris集群 在高可用部署的状况下进行。即数据 3 正本,FE 高可用状况下。
2.Doris 不反对跨两位版本升级,比方你当初应用的是0.12.x版本,不能间接降级到0.14.x版本,必须首先降级0.13.x版本,Doris 能够跨三位版本进行生,比方你能够从0.13.15版本间接降级到0.14.13版本,这点十分重要
3.Doris FE 元数据目前不反对回退在降级之前肯定要做好元数据备份和元数据兼容测试
1.降级筹备
筹备好要降级的 Doris 安装包,
- 筹备一个测试FE节点,你能够长期应用某一个BE节点作为测试FE节点,将FE安装包复制到这个节点
- 将 BE 和 FE 新版本的二进制文件散发到集群各自节点指定目录下(目录本人指定,不是doris装置目录即可,不便前面降级文件拷贝)。
- 小版本升级,BE 只需降级 palo_be;FE 只需降级 palo-fe.jar,倡议整体替换fe装置目录下的lib目录。
- 大版本升级,则可能须要降级其余文件(包含但不限于 bin/ lib/ 等);如果不确定是否须要替换其余文件,全副替换即可,备份你的 FE 和 BE conf配置文件。
- 在正式降级之前为了保障降级失败能回滚,强烈建议备份 Doris FE 的元数据,一旦降级失败因为Doris 元数据不反对兼容低版本,没方法回退
2.测试 Doris BE 降级正确性
- 任意抉择一个 BE 节点,j将拷贝过去的BE安装包里lib目录下最新的 palo_be 二进制文件,复制到你的Doris BE lib目录下palo_be替换成最新的,(这里如果你不确定,能够替换整lib目录,如果是大版本升级将你的配置文件(conf目录)备份进去,替换整个装置目录,而后将配置文件在还原回去)
- 重启 BE 节点,通过 BE 日志 be.INFO,查看是否启动胜利。
- 如果启动胜利就能够依照这个形式滚动降级其余BE节点。
- 如果启动失败,能够先排查起因。如果谬误不可复原,能够间接通过 DROP BACKEND 删除该 BE、清理数据后,应用上一个版本的 palo_be 重新启动 BE。而后从新 ADD BACKEND。(该办法会导致失落一个数据正本,请务必确保3正本残缺的状况下,执行这个操作!!!)
3.测试 Doris FE 元数据兼容性
重要预警!!元数据兼容性异样很可能导致数据无奈复原!!
- 独自应用新版本部署一个测试用的 FE 过程(比方本人本地的开发机,或者其余的BE节点)。
- 批改测试用的 FE 的配置文件 fe.conf。
- 在 fe.conf 增加配置:cluster_id=123456
- 在 fe.conf 增加配置:metadata_failure_recovery=true
- 拷贝线上环境 Master FE 的元数据整个目录到你刚部署的测试环境
- 将拷贝到测试环境中的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启动后,谬误连贯到线上环境中。
4.滚动降级
- 在实现 BE 数据正确性及 FE 元数据兼容性验证后,将 BE 和 FE 新版本的二进制文件散发到各自目录下。
- 通常小版本升级,BE 只需降级 palo_be;而 FE 只需降级 palo-fe.jar。如果是大版本升级,则可能须要降级其余文件(包含但不限于 bin/ lib/ 等等)如果你不分明是否须要替换其余文件,倡议全副替换。
- 确认新版本的文件部署实现后。逐台重启 FE 和 BE 实例即可,首先实现BE的降级,重启。而后在重启FE
- 倡议逐台重启 BE 后,再逐台重启 FE。因为通常 Doris 保障 FE 到 BE 的向后兼容性,即老版本的 FE 能够拜访新版本的 BE。但可能不反对老版本的 BE 拜访新版本的 FE。
- 倡议确认前一个实例启动胜利后,在重启下一个实例。实例启动胜利的标识