当前位置: 首页 > news >正文

Doris0.15平滑升级至1.12

 参考官方文献:集群升级 - Apache Doris

Doris 可以通过滚动升级的方式,平滑进行升级。建议按照以下步骤进行安全升级:

目录

一:升级下载

二:环境信息

三:前置工作

3.1:关闭集群均衡和副本修复逻辑

3.2:元数据备份

备份FE元数据

备份BE元数据: doris1这台BE举例

四:升级

 4.1:升级BE

 4.1.1:停止BE

 4.1.2:复制解压后的新be文件夹至原be安装路径下并更名为be2

4.1.3:复制原be的conf下的be.conf配置文件到 be2中

4.1.4:启动BE

4.1.5:另外两台BE 同样执行上述步骤升级

4.2:升级FE

4.2.1:停止FE

 4.2.2:复制解压后的新fe文件夹至原fe安装路径下并更名为fe2


一:升级下载

[Doris 发版通告] Apache Doris 1.1.2 Release - Apache Doris

二:环境信息

类型        当前版本

Doris

1FE、2BE

0.15
JDK1.8
服务器角色安装路径元数据路径
Doris1FE/opt/fe/data/doris/fe/doris-meta
Doris1BE/opt/be/mnt/data/doris/be/doris-storage
Doris2BE/data/doris/be/mnt/doris/doris-storage
Doris3BE/data/doris/be/mnt/doris/doris-storage

三:前置工作

3.1:关闭集群均衡和副本修复逻辑

重要:升级过程中会有节点重启,所以可能会触发不必要的集群均衡和副本修复逻辑。可以先通过以下命令关闭,当集群升级完毕后,在通过以上命令将对应配置设为原值true即可

-- 关闭副本均衡逻辑。关闭后,不会再触发普通表副本的均衡操作。
admin set frontend config("disable_balance" = "FALSE");
-- 关闭 colocation 表的副本均衡逻辑。关闭后,不会再出发 colocation 表的副本重分布操作。
admin set frontend config("disable_colocate_balance" = "FALSE");
-- 关闭副本调度逻辑。关闭后,所有已产生的副本修复和均衡任务不会再被调度。
admin set frontend config("disable_tablet_scheduler" = "FALSE");

3.2:元数据备份

备份FE元数据

Doris1元数据路径:meta_dir = /data/doris/fe/doris-meta

#进入到FE元数据所在目录,复制一份元数据在当前目录下

[root@iZm5effrkuem8wzyhdh7taZ fe]# cd /data/doris/fe

[root@iZm5effrkuem8wzyhdh7taZ fe]# ll
总用量 16
drwxr-xr-x 4 root root 4096 8月  12 20:38 doris-meta
drwxr-xr-x 4 root root 4096 9月  10 18:30 doris-meta.backup

[root@iZm5effrkuem8wzyhdh7taZ fe]# cp -r doris-meta doris-meta.backup

备份BE元数据: doris1这台BE举例

Doris1元数据路径:be.conf中storage_root_path = /mnt/data/doris/be/doris-storage

#进入到BE元数据所在目录,复制一份元数据在当前目录下。

[root@iZm5effrkuem8wzyhdh7taZ ~]# cd /mnt/data/doris/be
[root@iZm5effrkuem8wzyhdh7taZ be]#
[root@iZm5effrkuem8wzyhdh7taZ be]# ll
总用量 1
drwxr-xr-x 9 root root 4096 9月  10 17:37 doris-storage
drwxr-xr-x 2 root root 4096 8月  12 20:50 log
[root@iZm5effrkuem8wzyhdh7taZ be]# cp -r doris-storage doris-storage.backup

四:升级

将doris-1.1.2安装包放至Data目录下, 并解压到当前目录

[root@iZm5effrkuem8wzyhdh7taZ data]# tar -zxvf apache-doris-1.1.2-rc05.tar.gz

 4.1:升级BE

 4.1.1:停止BE

[root@iZm5effrkuem8wzyhdh7taZ be]# /opt/be/bin/start_be.sh --daemon
Backend running as process 917. Stop it first.
[root@iZm5effrkuem8wzyhdh7taZ be]#

 4.1.2:复制解压后的新be文件夹至原be安装路径下并更名为be2

[root@iZm5effrkuem8wzyhdh7taZ data]# cp -r /data/be /opt/be2

4.1.3:复制原be的conf下的be.conf配置文件到 be2中

注意:若BE的元数据在没有定义,在be的storage目录下,需把这个目录复制到新的be中

[root@iZm5effrkuem8wzyhdh7taZ opt]# 
[root@iZm5effrkuem8wzyhdh7taZ opt]# cp /opt/be/conf/be.conf /opt/be2/conf/
cp:是否覆盖"/opt/be2/conf/be.conf"? y

4.1.4:启动BE

[root@iZm5effrkuem8wzyhdh7taZ opt]# /opt/be2/bin/start_be.sh --daemon

启动后可以在浏览器访问BE默认web端口8040 查看版本是否更替

在client中使用 SHOW PROC '/backends'; 查看Alieve是否为true

4.1.5:另外两台BE 同样执行上述步骤升级

4.2:升级FE

4.2.1:停止FE

[root@iZm5effrkuem8wzyhdh7taZ fe]# /opt/fe/bin/stop_fe.sh --daemon
stop java, and remove pid file. 
[root@iZm5effrkuem8wzyhdh7taZ fe]#

 4.2.2:复制解压后的新fe文件夹至原fe安装路径下并更名为fe2

[root@iZm5effrkuem8wzyhdh7taZ data]# cp -r /data/fe /opt/fe2

4.2.3:复制原fe的conf下的fe.conf配置文件到 fe2中

[root@iZm5effrkuem8wzyhdh7taZ data]# cp /opt/fe/conf/fe.conf /opt/fe2/conf/
cp:是否覆盖"/opt/fe2/conf/fe.conf"? y
[root@iZm5effrkuem8wzyhdh7taZ data]#

4.2.4:在fe2的fe.conf中添加一项配置 metadata_failure_recovery=true (如果是单FE节点则不用)

metadata_failure_recovery=true 的含义是,清空 “bdbje” 的元数据。这样 bdbje 就不会再联系之前的其他 FE 了,而作为一个独立的 FE 启动。这个参数只有在恢复启动时才需要设置为 true。恢复完成后,一定要设置为 false,否则一旦重启,bdbje 的元数据又会被清空,导致其他 FE 无法正常工作。

4.2.5:启动FE

[root@iZm5effrkuem8wzyhdh7taZ data]# /opt/fe2/bin/start_fe.sh --daemon

4.2.6:启动FE后访问默认http_port 端口8030来看版本是否已经更新

相关文章:

  • CentOS系统安装Docker Engine
  • 【Node.js 入门篇】连接 MySQL
  • 一文带你读懂Vue生命周期
  • Java顺序表的实现
  • 金仓数据库KingbaseES数据库参考手册(服务器配置参数18. 开发者选项)
  • mysql 跨库数据清洗方案
  • pandas数据映射,更改列名,批量映射替换某列数据replace、map、apply、rename对比
  • 未婚妻晚安之后依然在线,于是我用20行代码写了个小工具
  • MySQL进阶第二天——索引
  • 低代码 low-code
  • 数字经济增长下,数据共享对于企业而言意味着什么?
  • 浙大MEM网上报名关键信息点提醒,选错一个,回头重来
  • 基于Spring Boot的动物救助中心系统
  • 6.HTML标签/元素学习
  • 没前端项目经验很难找实习吗?
  • python3.6+scrapy+mysql 爬虫实战
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • C语言笔记(第一章:C语言编程)
  • golang中接口赋值与方法集
  • Java程序员幽默爆笑锦集
  • Java教程_软件开发基础
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • spring-boot List转Page
  • 从伪并行的 Python 多线程说起
  • 工作手记之html2canvas使用概述
  • 开源SQL-on-Hadoop系统一览
  • 入手阿里云新服务器的部署NODE
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • UI设计初学者应该如何入门?
  • 第二十章:异步和文件I/O.(二十三)
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​用户画像从0到100的构建思路
  • # Apache SeaTunnel 究竟是什么?
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (¥1011)-(一千零一拾一元整)输出
  • (007)XHTML文档之标题——h1~h6
  • (1)SpringCloud 整合Python
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (BFS)hdoj2377-Bus Pass
  • (poj1.3.2)1791(构造法模拟)
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (算法二)滑动窗口
  • (学习日记)2024.01.09
  • (原創) 物件導向與老子思想 (OO)
  • .NET 4.0中的泛型协变和反变
  • .NET Core 项目指定SDK版本
  • .NET MVC 验证码
  • .NET MVC第三章、三种传值方式
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • /*在DataTable中更新、删除数据*/