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,一经查实,立即删除!

相关文章

Unix Network Programming Episode 78

‘getaddrinfo’ Function The gethostbyname and gethostbyaddr functions only support IPv4. The API for resolving IPv6 addresses went through several iterations, as will be described in Section 11.20(See 8.9.20); the final result is the getaddrinfo function…

ansible部署二进制k8s

简介 GitHub地址: https://github.com/chunxingque/ansible_install_k8s 本脚本通过ansible来快速安装和管理二进制k8s集群;支持高可用k8s集群和单机k8s集群地部署;支持不同版本k8s集群部署,一般小版本的部署脚本基本是通用的。 …

js文件的入口代码及需要入口代码的原因

1 在js解释器解释代码时,是从上往下逐条执行的,但是在js文件中,存在许多进行页面交互的代码,它们需要获取到当前按钮元素,比如:var btn document.querySelector(button), 如果将js文件写在了页面结…

java项目实现不停服更新的4种方案(InsCode AI 创作助手)

文章目录 1. Blue-Green 部署2. 滚动更新3. 使用负载均衡器4. 灰度发布 在软件开发和维护中,不停机更新是确保应用程序持续可用的关键任务之一。以下是四种常见的不停机更新策略及其示例: 1. Blue-Green 部署 概念: Blue-Green 部署是一种部…

Jenkins 构建时动态获取参数

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

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

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

flutter StreamSubscription 订阅者 stream

当您使用[Stream.listen]收听[Stream]时 则返回[StreamSubscription]对象 List<StreamSubscription?> subscriptions []; overridevoid initState() {super.initState();//subscriptions列表添加两个StreamSubscription。Stream.listen返回StreamSubscription对象subs…

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

ISCA 2021 摘要 本文详细解释了推动AMD使用chiplet技术的挑战&#xff0c;产品开发的技术方案&#xff0c;以及如何将chiplet技术从单处理器扩展到多个产品系列。 正文 这些年在将SoC划分成多个die方面有一系列研究&#xff0c;MCM的概念也在不断更新&#xff0c;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 拉取项目 将日常笔记记录上传&#xff0c;方便日常使用翻阅。 1、git的本质 git对待数据更像是一个快…

【jvm--堆】

文章目录 1. 堆&#xff08;Heap&#xff09;的核心概述2. 图解对象分配过程2.1 Minor GC&#xff0c;MajorGC、Full GC2.1 堆空间分代思想2.3 内存分配策略2.4 TLAB&#xff08;Thread Local Allocation Buffer&#xff09;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 &#xff0c;当然少不了自己装一个服务器捣鼓。本文的ElasticSearch 的版本&#xff1a; 7.17.3 一、下载 ElasticSearch 点此下载 下载完成后上传至 Linux 服务器&#xff0c;本文演示放在&#xff1a; /root/ 下&#xff0c;进行解压&#xff1…

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

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

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

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

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是一个用于…

mac使用python递归删除文件夹下所有的.DS_Store文件

import osfolder_path "yourself file path"for root, dirs, files in os.walk(folder_path):for filename in files:if filename .DS_Store:file_path os.path.join(root, filename)os.remove(file_path)print("delete ok")

通用任务批次程序模板

通用批次任务模板 我们总会遇到需要使用批次任务处理问题的场景&#xff0c;任务有很多不同类型的任务&#xff0c;同时这些任务可能都有大致相同&#xff0c;甚至抽象出来共同的执行阶段状态。 任务的执行肯定无法保证一帆风顺&#xff0c;总会在某个时间阶段被打断&#xff…

Spring Cloud--@RefreshScope动态刷新的注意事项

原文网址&#xff1a;Spring Cloud--RefreshScope动态刷新的注意事项_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Spring Cloud的RefreshScope动态刷新的注意事项。 不用RefreshScope也能动态刷新 Spring Cloud的默认实现了动态刷新&#xff0c;不加RefreshScope就能实现动态…

iris(golang)连接mysql数据库

连接mysql数据库 安装依赖 go get github.com/go-sql-driver/mysqlfunc LinkMySQL(){DB,_ : sql.Open("mysql","root:123456tcp(127.0.0.1:3306)/webgo_accout")//设置数据库最大连接数DB.SetConnMaxLifetime(100)//设置上数据库最大闲置连接数DB.SetMaxId…