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
| 服务器 | 角色 | 容器内安装目录 | 元数据目录 | 日志目录 | |
| bigData04 | FE | /opt/doris/doris-fe | /data/fe/doris-meta | /data/fe/log | |
| bigData03 | BE | /opt/doris/doris-be | /data/be/storage | /data/be/log | |
| bigData08 | BE | /opt/doris/doris-be | /data/be/storage | /data/be/log |
升级流程概览
- 元数据备份
- 关闭集群副本修复和均衡功能
- 兼容性测试
- 升级 BE
- 升级 FE
- 打开集群副本修复和均衡功能
元数据备份(重要)
将 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_ ... 提供的参数数目不足
重启后正常
相关文章:
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 升级请遵守不要跨两个及以上关键节点版本升级的…...
kotlin aes 加密解密
文章目录 1. key填充2. 加密3. 解密 1. key填充 aes算法对key的字节数有要求 所以对输入的key要做填充处理 fun fillKey(key: String): ByteArray {val random SecureRandom.getInstance("SHA1PRNG")random.setSeed(key.toByteArray())val generator KeyGenerato…...
sqlite3的lib和头文件在哪下载 2023/9/19 上午10:46:43
2023/9/19 上午10:46:43 sqlite3的lib和头文件在哪下载 2023/9/19 上午10:46:54 你可以从SQLite官方网站下载SQLite的lib和头文件。请按照以下步骤进行操作: 打开SQLite官方网站:https://www.sqlite.org/index.html 在页面上方的菜单中选择 “Download”(下载)。 在下载…...
磁通量概述
磁通量指的是设在磁感应强度为B的匀强磁场中,有一个面积为S且与磁场方向垂直的平面,磁感应强度B与面积S的乘积,叫做穿过这个平面的磁通量,简称磁通(Magnetic Flux)。标量,符号“Φ”。在一般情况…...
MySql 终端常用指令
一、开发背景 利用数据库实现数据的增删改查 二、开发环境 Window10 mysql-8.0.33-win64 三、实现步骤 1、管理员模式打开终端 2、登录数据库(停止 开启 登录) 具体指令参考 MySql 安装篇 …...
【React-hooks篇幅】自定义hooks
首先得了解自定义 Hooks 跟普通函数区别在于哪里? Hooks 只应该在 React 函数组件内调用,而不应该在普通函数调用。Hooks 能够调用诸如 useState、useEffect、useContext等,普通函数则不能。由此可以通过内置的Hooks等来获得Firber的访问方式…...
面试算法21:删除倒数第k个节点
题目 如果给定一个链表,请问如何删除链表中的倒数第k个节点?假设链表中节点的总数为n,那么1≤k≤n。要求只能遍历链表一次。 例如,输入图4.1(a)中的链表,删除倒数第2个节点之后的链表如图4.1&a…...
数据结构——排序算法(C语言)
本篇将详细讲一下以下排序算法: 直接插入排序希尔排序选择排序快速排序归并排序计数排序 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某写关键字的大小,按照递增或递减0排列起来的操作。 稳定性的概念…...
基于Http Basic Authentication的接口
Basic Authenrication是 HTTP 用户代理提供用户名的一种方法 ,它是对 Web 资源实施访问控制的最简单技术,它不需要 Cookie、会话标识符和登录页面。HTTP Basic身份验证使用静态的标准HTTP标头,这意味着 不必在预期中进行握手。 当用户代理想…...
【yaml文件的编写】
yaml文件编写 YAML语法格式写一个yaml文件demo创建资源对象查看创建的pod资源创建service服务对外提供访问并测试创建资源对象查看创建的service在浏览器输入 nodeIP:nodePort 即可访问 详解k8s中的port:portnodePorttargetPortcontainerPortkubectl run --dry-runc…...
kt6368A双模蓝牙芯片无法透传 可能是什么问题呢
一、问题简介- kt6368A蓝牙芯片无法透传 可能是什么问题呢? KT6368A蓝牙芯片,在使用上还是非常的简单,总共也就8个腿,焊接也是很容易的事情 出现不能透传,大概率有如下2点原因 硬件问题,比如࿱…...
SpringBoot终极讲义第二章笔记
01.关于Import 和 ImportResource Import注解用法(类上): 一般和Configuration一起使用,用来导入里面Bean方法返回的对象 ImportResource(类上):一般和Configuration一起使用,用来导入某个.XML文件里的bean 个人觉得这两个注解有点鸡肋 SpringBoot启动类默认扫描的是启动类…...
【C++面向对象侯捷下】4. pointer-like classes,关于智能指针 | 5. function-like classes,所谓仿函数
文章目录 4. pointer-like classes,关于智能指针pointer-like classes,关于智能指针 shared_ptrpointer-like classes,关于迭代器5. function-like classes,所谓仿函数【不懂,跳过】 4. pointer-like classes,关于智能指针 pointer-like classes,关于智…...
社科院与杜兰大学能源管理硕士项目——惊喜会随时间慢慢酝酿而出
我们越来越难感受到惊喜,按部就班的生活让我们丧失了感知力,我们再难以被简单的确幸所打动。试试停下脚步,惊喜往往不期而遇。社科院与杜兰大学能源管理硕士项目是你人生中的小确幸吗 学习是一种持续不断的自我提升,它能让我们逐渐…...
Array简介
概念: 数组(Array)是Java中最简单的数据结构之一,它用于存储固定大小的相同类型元素序列。数组是一个连续分配的内存块,可以通过索引访问其中的元素。元素在数组中按照顺序排列,并使用整数索引来唯一标识每…...
Django的模版使用(Django-03)
一 模版的使用 模板引擎是一种可以让开发者把服务端数据填充到html网页中完成渲染效果的技术。它实现了 把前端代码和服务端代码分离 的作用,让项目中的业务逻辑代码和数据表现代码分离,让前端开发者和服务端开发者可以更好的完成协同开发。 静态网页&…...
详解分布式搜索技术之elasticsearch
目录 一、初识elasticsearch 1.1什么是elasticsearch 1.2elasticsearch的发展 1.3为什么学习elasticsearch? 1.4正向索引和倒排索引 1.4.1传统数据库采用正向索引 1.4.2elasticsearch采用倒排索引 1.4.3posting list 1.4.4总结 1.5 es的一些概念 1.5.1文档和字段 …...
系统架构设计:3 软件架构建模技术与应用
目录 一 架构“4+1”视图 二 论点 1 架构的本质 2 “4+1”视图 (1)逻辑视图 <...
JAVA在线电子病历编辑器源码 B/S架构
电子病历在线制作、管理和使用的一体化电子病历解决方案,通过一体化的设计,提供对住院病人的电子病历书写、保存、修改、打印等功能。电子病历系统将临床医护需要的诊疗资料以符合临床思维的方法展示。建立以病人为中心,以临床诊疗信息为主线…...
TS中的枚举是什么如何使用
在 TypeScript 中,枚举(enum)是一种用于定义命名常量集合的数据类型。枚举可以提高代码的可读性和可维护性,因为它允许开发人员定义并使用有意义的符号名称来表示特定的常量。 下面是一个使用枚举的示例: enum Color…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
DeepSeek越强,Kimi越慌?
被DeepSeek吊打的Kimi,还有多少人在用? 去年,月之暗面创始人杨植麟别提有多风光了。90后清华学霸,国产大模型六小虎之一,手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水,单月光是投流就花费2个亿。 疯…...
背包问题双雄:01 背包与完全背包详解(Java 实现)
一、背包问题概述 背包问题是动态规划领域的经典问题,其核心在于如何在有限容量的背包中选择物品,使得总价值最大化。根据物品选择规则的不同,主要分为两类: 01 背包:每件物品最多选 1 次(选或不选&#…...

