集群升级
集群升级
Palo 的升级方式和 Apache Doris 完全一致。用户也可以参考 Apache Doris 官网文档 进行升级。
本文档说明用户下载新版本的二进制包后的升级步骤。
注1:升级是在原集群上升级,无需重做数据。
注2:通常情况下,集群升级只需升级 FE、BE、Broker 进程。
注3:升级流程须严格按照 BE -> FE -> Broker 的顺序进行升级。
升级步骤
这里我们以从 0.14.13.1 版本升级到 0.15.1-rc03 版本为例。
-
下载二进制包并解压
tar xzf PALO-0.15.1-rc03-binary.tar.gz
解压后的目录结构如下:
├── PALO-0.15.1-rc03-binary ├── apache_hdfs_broker ├── auditloader.zip ├── be ├── doris-flink-1.0-SNAPSHOT.jar ├── doris-spark-1.0.0-SNAPSHOT.jar ├── fe └── udf
-
升级 BE
这里我们假设 BE 的安装路径为
/path/to/be/
。BE 节点分别为 hostA、hostB、hostC。- 首先我们进入到 hostA 的
/path/to/be/
目录下,通过sh bin/stop_be.sh
停止 BE 进程。 - 将
/path/to/be/lib/
目录中的palo_be
和meta_tool
文件替换为新版本中的PALO-0.15.1-rc03-binary/be/lib/
目录下的同名文件。 - 通过
sh bin/start_be.sh --daemon
启动 BE 进程。 - 此时,我们已经完成 hostA 上 BE 节点的更新。此时我们可以先观察集群运行是否正常。如果一切正常,则可以重复步骤 1-3 来升级其余的 2 个BE节点。(Palo 保证新版本的向前兼容性,所以新版本原则上是可以和旧版本同时运行的。)
通过以上步骤将所有 BE 节点升级完成后。可以进一步先观察集群运行情况,再继续升级 FE 节点。
- 首先我们进入到 hostA 的
-
升级 FE
FE 节点的升级顺序为:
Observer -> 非 Master FE 节点 -> Master FE 节点
FE 的节点类型和是否是 Master,可以通过
show frontends
语句结果中的Role
和IsMaster
列获取。如果只部署了一个 FE 节点,强烈建议先按照 Doris 官方升级文档 中的 测试 FE 元数据兼容性 一节进行元数据兼容性验证。
- 进入 FE 的安装路径
/path/to/fe/
,通过sh bin/stop_fe.sh
停止 FE 进程。 - 将
/path/to/fe/lib/
目录整体替换为新版本中的PALO-0.15.1-rc03-binary/fe/lib/
目录。 - 通过
sh bin/start_fe.sh --daemon
启动 FE 进程。 - 此时,我们已经完这个 FE 节点的更新。此时我们可以通过 MySQL client 连接这个 FE 节点进行一些查询或导入操作,来观察集群是否正常。如果一切正常,则可以重复步骤 1-3 来升级其余的 FE 节点。
通过以上步骤将所有 FE 节点升级完成后。则 Palo 的主进程(FE、BE)都已升级完成。
- 进入 FE 的安装路径
-
升级 Broker
如果用户部署了 Broker 进程,则可以按照以下步骤进行升级。
Broker 为无状态进程,全部升级即可。
- 进入 Broker 的安装路径
/path/to/broker/
,通过sh bin/stop_broker.sh
停止 Broker 进程。 - 将
/path/to/broker/lib/
目录整体替换为新版本中的PALO-0.15.1-rc03-binary/apache_hdfs_broker/lib/
目录。 - 通过
sh bin/start_broker.sh --daemon
启动 Broker 进程。 - 此时,我们已经完这个 Broker 节点的更新。重复步骤 1-3 来升级其余的 Broker 节点。
通过以上步骤将所有 Broker 节点升级完成即可。
- 进入 Broker 的安装路径
-
测试升级结果
通过 MySQL client 连接任意 FE 节点进行业务操作,观察业务运行情况即可。
关于版本回滚
因为数据库是一个有状态的服务,所以在大多数情况下,Palo/Doris 无法支持版本回滚(版本降级)。在某些情况下,可以支持 3 位或 4 位版本的回滚,但不会支持 2 为版本的回滚。
所以建议通过先升级部分节点并观察业务运行情况的方式(灰度升级)来降低升级风险。
如有回滚需求,请事先联系 Palo/Doris 开发人员进行确认。
非法的回滚操作可能导致数据丢失和损坏。