Doris 2.0.1 DockerFile版 升级实战

1、Doris 2.0.1  DockerFile 的制作 参考 Doris 2.0.1 Dockerfile制作-CSDN博客

2、之前的Doris 集群通过 Docker容器进行的部署,需提前准备好Doris2.0.1的镜像包

参考:

集群升级 - Apache Doris

Doris 升级请遵守不要跨两个及以上关键节点版本升级的原则,若要跨多个关键节点版本升级,先升级到最近的关键节点版本,随后再依次往后升级,若是非关键节点版本,则可忽略跳过。

1.2.0 - 1.2.5 任意版本 -> 2.0.0-beta

当前集群Doris  apache-doris-dependencies-1.2.4.1-bin-x86_64

升级目标Doris 2.0.1

服务器角色容器内安装目录元数据目录日志目录
bigData04FE/opt/doris/doris-fe/data/fe/doris-meta

/data/fe/log

bigData03BE/opt/doris/doris-be/data/be/storage/data/be/log
bigData08BE/opt/doris/doris-be/data/be/storage/data/be/log

升级流程概览​

  1. 元数据备份
  2. 关闭集群副本修复和均衡功能
  3. 兼容性测试
  4. 升级 BE
  5. 升级 FE
  6. 打开集群副本修复和均衡功能
元数据备份(重要)​

将 FE-Master 节点的 doris-meta 目录进行完整备份!

cd /data/fe/

cp -r doris-meta doris-meta.backup

备份be节点的元数据

 cd /data/be/

sudo cp -r storage storage.backup

关闭集群副本修复和均衡功能​

升级过程中会有节点重启,所以可能会触发不必要的集群均衡和副本修复逻辑,先通过以下命令关闭:

# 关闭副本均衡逻辑。关闭后,不会再触发普通表副本的均衡操作。
$ mysql-client > admin set frontend config("disable_balance" = "true");

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

当集群升级完毕后,在通过以上命令将对应配置设为原值即可。

升级

BE 节点

docker ps

load镜像:

docker load -i apache-doris-2.0.1.1-be.tar

1、复制原be的conf下的be.conf配置文件到本地目录

容器到本地:

docker cp be:/opt/apache-doris/be/conf/be.conf .

mv be.conf be.conf.bak

2、停止原BE

登录容器 docker exec -it be bash

停止BE

/opt/apache-doris/be/bin/stop_be.sh

show proc '/backends'\G;  

发现alive 已改为false

docker ps -a

3、启动新BE

docker run -itd --restart=always --name=be2 --env FE_SERVERS="fe1:192.168.1.244:9010" --env BE_ADDR="192.168.1.248:9050" -p 8040:8040 -v /data/be/storage:/opt/apache-doris/be/storage -v /data/be/log:/opt/apache-doris/be/log --net=host apache-doris:2.0.1.1-be

4、复制be2 的 be.conf文件到本地

本地到容器:

docker cp be2:/opt/apache-doris/be/conf/be.conf .

修改 be.conf

主要修改  priority_networks = 192.168.1.0/24

将 be.conf 上传到be2

docker cp be.conf be2:/opt/apache-doris/be/conf/be.conf

3、重启新BE2

登录容器 docker exec -it be2 bash

停止BE2

/opt/apache-doris/be/bin/stop_be.sh

启动BE2

/opt/apache-doris/be/bin/start_be.sh --daemon

查看:

SHOW PROC '/backends'\G;

发现启动后backend有自动停止的情况,copy be中的 java-udf-jar-with-dependencies.jar 到be2中

docker cp java-udf-jar-with-dependencies.jar be2:/opt/apache-doris/be/lib/java-udf-jar-with-dependencies.jar

依次完成其他 BE 节点升级

升级 FE

load镜像:

docker load -i apache-doris-2.0.1.1-fe.tar

复制原fe的conf下的fe.conf配置文件到 本地中

docker cp fe:/opt/apache-doris/fe/conf/fe.conf .

mv fe.conf fe.conf.bak

登录fe

docker exec -it fe bash

停止FE

/opt/apache-doris/fe/bin/stop_fe.sh

退出容器

exit

停止fe并删除

docker stop fe

docker rm fe

启动FE2

docker run -itd --restart=always --name=fe2 --env FE_SERVERS="fe1:192.168.1.244:9010" --env FE_ID=1 -p 8030:8030 -p 9030:9030 -v /data/fe/doris-meta:/opt/apache-doris/fe/doris-meta -v /data/fe/log:/opt/apache-doris/fe/log --net=host apache-doris:2.0.1.1-fe
 

docker exec -it fe2 bash

先停止

/opt/apache-doris/fe/bin/stop_fe.sh

再启动

/opt/apache-doris/fe/bin/start_fe.sh --daemon

SHOW PROC '/frontends'\G;

show proc '/backends'\G;

打开集群副本修复和均衡功能​

升级完成,并且所有 BE 节点状态变为 Alive 后,打开集群副本修复和均衡功能:

admin set frontend config("disable_balance" = "false");
admin set frontend config("disable_colocate_balance" = "false");
admin set frontend config("disable_tablet_scheduler" = "false");

验证:

curl http://127.0.0.1:8030/api/bootstrap

http://ip:8030/  使用数据库账号和密码登录

异常问题:

1、[ERROR] 2023-09-14 15:13:50.078 +0800 - execute sql error: errCode = 2, detailMessage = errCode = 2, detailMessage = Not support set 'in_memory'='true' now!

       ALTER TABLE dorisonline.ods_contractlist_snapshot set ("in_memory" = "false");

2、flink cdc任务有异常 重启后正常

     cdc.fn_cdc_get_all_changes_ ...  提供的参数数目不足
     重启后正常

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/100345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins 构建时动态获取参数

文章目录 问题简介Groovy 脚本配置进阶 问题 在做jenkins项目时,有些参数不是固定写死的,而是动态变化的,这时我们可以用 Active Choices 插件来远程调用参数 问题解决方案:执行构建前使用Groovy Scrip调用本地脚本,…

点云处理开发测试题目 完整解决方案

点云处理开发测试题目 文件夹中有一个场景的三块点云数据,单位mm。是一个桌子上放了一个纸箱,纸箱上有四个圆孔。需要做的内容是: 1. 绘制出最小外接立方体,得到纸箱的长宽高值。注意高度计算是纸箱平面到桌子平面的距离。 2. 计算出纸箱上的四个圆的圆心坐标和半径,对圆…

论文解析——AMD EPYC和Ryzen处理器系列的开创性的chiplet技术和设计

ISCA 2021 摘要 本文详细解释了推动AMD使用chiplet技术的挑战,产品开发的技术方案,以及如何将chiplet技术从单处理器扩展到多个产品系列。 正文 这些年在将SoC划分成多个die方面有一系列研究,MCM的概念也在不断更新,AMD吸收了…

Git基础使用

Git基础使用 1、git的本质2 Gitlab账号申请、免密设置2.1 申请Gitlab账号2.2 免密设置2.2.1 公钥及私钥路径2.2.2 免密设置 3、常用命令3.1 git全局配置信息3.2 初始化项目3.3 拉取项目 将日常笔记记录上传,方便日常使用翻阅。 1、git的本质 git对待数据更像是一个快…

【jvm--堆】

文章目录 1. 堆(Heap)的核心概述2. 图解对象分配过程2.1 Minor GC,MajorGC、Full GC2.1 堆空间分代思想2.3 内存分配策略2.4 TLAB(Thread Local Allocation Buffer)2.5 堆空间的参数设置2.6 逃逸分析2.7 逃逸分析&…

MODBUS-RTU通信协议功能码+数据帧解读(博途PLC梯形图代码)

MODBUS通信详细代码编写,请查看下面相关链接,这篇博客主要和大家介绍MODBUS协议的一些常用功能码和具体数据帧解析,以便大家更好的理解MODBUS通信和解决现场实际问题。 S7-1200PLC MODBUS-RTU通信 博途PLC 1200/1500PLC MODBUS-RTU通讯_博图modbus rtu通讯实例-CSDN博客1、…

【centos7安装ElasticSearch】

概述 最近工作中有用到ES ,当然少不了自己装一个服务器捣鼓。本文的ElasticSearch 的版本: 7.17.3 一、下载 ElasticSearch 点此下载 下载完成后上传至 Linux 服务器,本文演示放在: /root/ 下,进行解压&#xff1…

Go 复合类型之字典类型介绍

Go 复合类型之字典类型介绍 文章目录 Go 复合类型之字典类型介绍一、map类型介绍1.1 什么是 map 类型?1.2 map 类型特性 二.map 变量的声明和初始化2.1 方法一:使用 make 函数声明和初始化(推荐)2.2 方法二:使用复合字…

边坡安全监测系统的功能优势

随着科技的进步,边坡安全监测系统在各种工程项目中发挥着越来越重要的作用。这款系统通过实时监测垂直、水平位移数据,以折线图的方式显示在监控平台中,为工程人员提供了直观、便捷的监控工具,从而能够及时掌握边坡稳定状况&#…

Gin 文件上传操作(单/多文件操作)

参考地址: 单文件 | Gin Web Framework (gin-gonic.com)https://gin-gonic.com/zh-cn/docs/examples/upload-file/single-file/ 单文件 官方案例: func main() {router := gin.Default()// 为 multipart forms 设置较低的内存限制 (默认是 32 MiB)router.MaxMultipartMem…

【软件测试】JUnit详解

文章目录 一. Junit是什么?二.Junit中常见的注解1. Test2. BeforeAll & AfterAll3. BeforeEach & AfterEach4. ParameterizedTest参数化5. Disabled6. Order 三. 测试套件1. 通过class运行测试用例2. 通过包运行测试用例 四. 断言 一. Junit是什么? JUnit是一个用于…

C#练习题-构造函数

文章目录 前言题目习题1运行示例 习题2运行示例 参考答案习题1习题2 其他文章 前言 本篇文章的题目为C#的基础练习题,构造函数部分。做这些习题之前,你需要确保已经学习了构造函数的知识。 本篇文章可以用来在学完构造函数后加深印象,也可以…

探馆天津车展 近距离感受“极致性能王”远航汽车

近年来,新能源汽车产业发展迅猛。得益于新能源车型在成本控制、品质、安全性等多方面的出色表现,消费者对新能源汽车的需求一直呈现刚性。2023年,虽然新能源汽车已经进入无补贴时代,但消费者对新能源汽车的需求依旧有增无减&#…

k8s安全机制

安全机制 一、机制说明二、认证(Authentication)HTTP Token 认证HTTP Base 认证HTTPS 证书认证(最严格) 三、鉴权(Authorization)角色角色绑定主体(subject)Role and ClusterRoleRol…

axios的get请求时数组参数没有下标

开发新项目过程中 发现get请求时 数组参数没有下标 这样肯定是不行的 后端接口需要数组[0]: 7 数组[1]:4这样的数据 原因是因为在请求拦截器没有处理需要的参数 解决方法 在请求拦截器 处理一下参数 import axios, { AxiosError, AxiosInstance, AxiosRequestHeaders } fro…

vcf 文件如何修改染色体修改样本名称提取样本

大家好,我是邓飞。 对于vcf文件和plink文件是经常用的文件,对于基因型数据的处理,一般分为: 数据质控数据提取染色体修改名称样本修改名称 今天介绍一下vcf文件的三个处理方法: 1,染色体修改2&#xff…

4.Docker 搭建 redis6

1.下载redis docker pull redis:6.2.62.创建需要挂载的宿主机文件夹 mkdir -p /data/redis/conf mkdir -p /data/redis/data3.配置redis 切换到/data/redis/conf文件夹下,创建redis.conf,复制redis.conf配置文件内容到redis.conf文件中,然后按下键盘 …

竞赛 深度学习 opencv python 公式识别(图像识别 机器视觉)

文章目录 0 前言1 课题说明2 效果展示3 具体实现4 关键代码实现5 算法综合效果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的数学公式识别算法实现 该项目较为新颖,适合作为竞赛课题方向,学…

Spring AOP的失效场景

首先,Spring的AOP其实是通过动态代理实现的,所以,想要让AOP生效,前提必须是动态代理生效,并且可以调用到代理对象的方法什么情况下会不走代理对象的调用呢?首先就是类内部的调用,比如一些私有方…

详解一典型的反激式开关电源方案

理解一个单端反激式开关电源方案: 1、抛出问题: 如图,在某系统方案上看到下图所示的单端反激式开关电源方案。 2、解析问题: 2.1、乍一看: 典型的AC-DC电路,考虑了安规及过压过流保护,如&am…