
DorisDB可以通过滚动升级的方式,平滑进行升级。升级顺序是先升级BE,然后再升级FE,最后升级Broker。FE升级切换会有短暂业务中断,可采用更负载均衡、DNS、jdbc多连接串、LVS、keeplive等多种方式实现平滑升级。

0. ENV
0.1 升级版本
1.15.1到1.15.2属小版本升级,1.14.x到1.15.x属大版本升级
DorisDB-SE-1.15.1.tar.gz
DorisDB-SE-1.15.2.tar.gz
0.2 升级说明
DorisDB可以通过滚动升级的方式,平滑进行升级。升级顺序是先升级BE,然后再升级FE。DorisDB保证BE后向兼容FE。升级的过程可以分为:测试升级的正确性,滚动升级,观察服务。
如果是大版本升级,则需要升级其他文件(包括但不限于bin/ lib/等等)如果您不清楚是否需要替换其他文件,建议全部替换即可,但需要保留配置文件、数据文件。
通常小版本升级,BE只需升级dorisdb_be,而FE只需升级dorisdb-fe.jar,本次为小版本升级,Broker不需要升级。
1. 升级步骤
解压需要升级的文件dorisdb_be和dorisdb-fe.jar
[root@doris1 ~]# tar zxvf soft/DorisDB-SE-1.15.2.tar.gz DorisDB-SE-1.15.2/be/lib/dorisdb_be[root@doris1 ~]# tar zxvf soft/DorisDB-SE-1.15.2.tar.gz DorisDB-SE-1.15.2/fe/lib/dorisdb-fe.jar
2. 升级前版本查看
查看fe版本:
[root@doris01 ~]# show_fe_version.shCommit hash: 6fb71adBuild type: RELEASEBuild time: 2021-05-20 22:02:49Build user: jenkins@ci01Java compile version: java full version "1.8.0_202-b08"
查看be版本:
[root@doris01 ~]# show_be_version.sh1.15.1 RELEASE (build 6fb71ad)Built on 2021-05-20 21:54:06 by jenkins@ci01
3. BE升级
采用滚动升级,逐个升级BE。BE不区分先后,以节点doris01为例。
1) 停止be
[root@doris01 ~]# dorisdb/be/bin/stop_be.sh --daemon
2) 确保进程已停止
[root@doris01 ~]# ps -ef |grep beroot 4202 1969 0 23:54 pts/0 00:00:00 grep --color=auto be
3) 备份BE
[root@doris01 ~]# mv dorisdb/be/lib/dorisdb_be dorisdb/be/lib/dorisdb_be.1.15.1
4) 升级BE
[root@doris01 ~]# cp -af DorisDB-SE-1.15.2/be/lib/dorisdb_be dorisdb/be/lib/
5) 确认权限(1007:1007)
[root@doris01 ~]# ls -lrt dorisdb/be/lib/dorisdb_be*-rwxr-xr-x. 1 1007 1007 1240089360 Mar 30 23:54 dorisdb/be/lib/dorisdb_be.1.15.1-rwxr-xr-x 1 1007 1007 1240128152 Apr 27 23:55 dorisdb/be/lib/dorisdb_be
6) 启动be
[root@doris01 ~]# dorisdb/be/bin/start_be.sh --daemon
7) 确认版本-当前已升级成功
[root@doris01 ~]# dorisdb/be/bin/show_be_version.sh1.15.2 RELEASE (build 673a01e)Built on 2021-06-01 15:43:51 by jenkins@ci01
8) 同样逐个升级doris02、doris03节点的BE
9)运行正常后,清理备份
[root@doris01 ~]# rm -f dorisdb/be/lib/dorisdb_be.1.15.1
4. FE升级
采用滚动升级,逐个升级FE。FE先升级FOLLOWER,最后升级Master,以节点doris02为例。
1) 停止FE
[root@doris02 ~]# dorisdb/fe/bin/stop_fe.sh --daemonstop java, and remove pid file.
2) 确保进程已停止
[root@doris02 ~]# jps7068 Jps
3) 备份FE
[root@doris02 ~]# mv dorisdb/fe/lib/dorisdb-fe.jar dorisdb/fe/lib/dorisdb-fe.jar.1.15.1
4) 升级BE
[root@doris02 ~]# cp -af DorisDB-SE-1.15.2/fe/lib/dorisdb-fe.jar /dorisdb/fe/lib/
5)确认属主和属组
[root@doris02 ~]# ll /dorisdb/fe/lib/dorisdb-fe.jar*-rw-rw-r-- 1 1007 1007 9738668 Apr 28 00:02 /dorisdb/fe/lib/dorisdb-fe.jar-rw-rw-r--. 1 1007 1007 9738682 Mar 30 23:54 /dorisdb/fe/lib/dorisdb-fe.jar.1.15.1
6) 启动fe
[root@doris02 ~]# /dorisdb/fe/bin/start_fe.sh --daemon
7) 升级后版本-当前已升级成功
[root@doris02 ~]# /dorisdb/fe/bin/show_fe_version.shCommit hash: 673a01eBuild type: RELEASEBuild time: 2021-06-01 15:50:48Build user: jenkins@ci01Java compile version: java full version "1.8.0_202-b08"
8) 查看FE进程状态
mysql> show proc '/frontends';
9) 同样,升级其它FE节点,如doris01
5. 升级完成后验证
be http port默认为8040
http://192.168.80.31:8040/api/health{"status": "OK","msg": "To Be Added"}
fe http port默认为8030
http://192.168.80.31:8030/api/bootstrap输入root,密码为空{"online_backend_num":1,"total_backend_num":3,"status":"OK"}
6. 小结
通过小版本升级展示,以dorisdb从1.15.1升级到1.15.2为例,修复bug,提升稳定性。
往期参考:0045.D DorisDB大版本升级
作者:王坤,微信公众号:rundba,欢迎转载,转载请注明出处。
如需公众号转发,请联系wx:landnow。





