Apache Doris 极简运维之BE扩缩容(1)

这篇具有很好参考价值的文章主要介绍了Apache Doris 极简运维之BE扩缩容(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、环境信息

已部署三个BE节点并且状态显示正常运行中

硬件信息

  1. CPU :1C
  2. CPU型号:ARM64
  3. 内存 :2GB
  4. 硬盘 :36GB SSD

软件信息

  1. VM镜像版本 :CentOS-7
  2. Apahce Doris版本 :1.2.4.1
  3. 集群规模:1FE * 3BE

二、缩容

2.1 DROP BACKEND缩容

注意:DROP BACKEND 会直接删除该 BE,并且其上的数据将不能再恢复!!!
所以强烈不推荐使用 DROP BACKEND 这种方式删除 BE 节点。当使用这个语句时,会有对应的防误操作提示。

-- ALTER SYSTEM DROP BACKEND "be_host:be_heartbeat_service_port"; -- 会有误操作提示
-- ALTER SYSTEM DROPP BACKEND "be01:9050"; --直接删除,慎用!

2.2 DECOMMISSION BACKEND缩容

DECOMMISSION 命令说明:

  1. 该命令用于安全删除 BE 节点。命令下发后,Doris 会尝试将该 BE 上的数据向其他 BE 节点迁移,当所有数据都迁移完成后,Doris 会自动删除该节点。
  2. 该命令是一个异步操作。执行后,可以通过 SHOW PROC ‘/backends’; 看到该 BE 节点的 isDecommission 状态为 true。表示该节点正在进行下线。
  3. 该命令不一定执行成功。比如剩余 BE 存储空间不足以容纳下线 BE 上的数据,或者剩余机器数量不满足最小副本数时,该命令都无法完成,并且 BE 会一直处于 isDecommission 为 true 的状态。
  4. DECOMMISSION 的进度,可以通过 SHOW PROC ‘/backends’; 中的 TabletNum 查看,如果正在进行,TabletNum 将不断减少。
  5. 该操作可以通过:
CANCEL DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";

命令取消。取消后,该 BE 上的数据将维持当前剩余的数据量。后续 Doris 重新进行负载均衡

-- ALTER SYSTEM DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";
ALTER SYSTEM DECOMMISSION BACKEND "be01:9050";

2.2.1 缩容前

http://192.168.31.78:8030/System?path=//backends查看be节点信息

Apache Doris 极简运维之BE扩缩容(1),Apache Doris,apache,大数据,运维

2.2.2 缩容中

缩容失败;缩容BE节点一直处于 isDecommission 为 true的状态,因为剩余机器数量不满足最小副本数(3个副本)。

Apache Doris 极简运维之BE扩缩容(1),Apache Doris,apache,大数据,运维

  1. 取消DECOMMISSION BACKEND 并将3副本的表都调成2副本
-- 取消DECOMMISSION BACKEND
-- CANCEL DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";
CANCEL DECOMMISSION BACKEND "be01:9050";

-- 3副本表调成2副本
-- 非分区部分
ALTER TABLE db.table_name SET ("default.replication_num" = "2");
ALTER TABLE db.table_name SET ("default.replication_allocation" = "tag.location.default: 2");
-- 分区部分
ALTER TABLE zbh_test.dwd_lbu_mbi_bil_income_d02 MODIFY PARTITION (逗号分隔可填写多个分区名) SET("replication_num"="2");

-- 如下图所示tablet数开始减少至2副本的量

Apache Doris 极简运维之BE扩缩容(1),Apache Doris,apache,大数据,运维

  1. 满足缩容的副本要求后,重新执行DECOMMISSION BACKEND
-- ALTER SYSTEM DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";
ALTER SYSTEM DECOMMISSION BACKEND "be01:9050";

Apache Doris 极简运维之BE扩缩容(1),Apache Doris,apache,大数据,运维

2.2.3 缩容后

副本自动均衡至非下线节点,副本均衡完毕后会自动drop掉下线的be节点,但进程需要自己去stop

# 需要手动停止be进程
sh bin/stop_be.sh 

Apache Doris 极简运维之BE扩缩容(1),Apache Doris,apache,大数据,运维

三、扩容

3.1 扩容前

Apache Doris 极简运维之BE扩缩容(1),Apache Doris,apache,大数据,运维

3.2 扩容中

-- 新增be节点,需要确保已经start相应的be进程
alter system add backend "192.168.31.136:9050"

-- 如下图所示新be已经加入集群并开始自动进行数据均衡了

Apache Doris 极简运维之BE扩缩容(1),Apache Doris,apache,大数据,运维

3.3 扩容后

数据完全均衡后如下图所示,几乎等同于be缩容完成前2副本的tablet分布

Apache Doris 极简运维之BE扩缩容(1),Apache Doris,apache,大数据,运维文章来源地址https://www.toymoban.com/news/detail-668773.html

四、总结

  1. 扩容会自动进行数据均衡
  2. 缩容会自动进行数据均衡,但需要注意不能直接DROP,需要走DECOMMISSION并且sh stop_be.sh
  3. 迁移效率参考:16:32开始复制迁移(1.590 TB / 141tablets);17:39迁移完成,平均1667235m / 4020s = 414m/s(大表耗时,可通过weiui的statistic查看还在迁移的tablet);迁移完后节点就完成下线、show PROC '/backends’也不会出现下线节点了。

到了这里,关于Apache Doris 极简运维之BE扩缩容(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • k8s扩缩容与滚动更新

    k8s扩缩容与滚动更新

    使用kubectl run创建 应用 端口暴露出去 使用kubectl  create 创建应用 端口暴露出去 run 与 create 区别: run 为一次性的创建运行,删除后不会自动生成,没有 pod 控制器 create 创建的,删除后还会自动生成,有 pod 控制器,拥有副本集控制 scale 应用 默认情况下 应用只会运行一个副

    2024年02月12日
    浏览(14)
  • k8s教程(pod篇)-扩缩容

    k8s教程(pod篇)-扩缩容

    声明:本文为《Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)》的读书笔记 在实际生产系统中,我们经常会遇到某个服务需要扩容的场景,也可能会遇到由于资源紧张或者工作负载降低而需要减少服务实例数量的场景。此时可以利用 Deployment/RC 的 Scale机制 来完成

    2024年02月08日
    浏览(8)
  • 【Apache Doris】Manager极致丝滑地运维管理

    【Apache Doris】Manager极致丝滑地运维管理

    标准化运维管理 ,首先得自己手动在集群的每台节点上去 分发包、并解压 ;然后分别对 FE和BE进行配置初始化 (FE主要修改IP和JAVA目录,BE主要修改IP、JAVA目录和存储路径配置)。 做完上面的包分发及配置初始化后,还需分别到对应节点去 启动FE、BE和Broker进程 ,如果节点

    2024年02月22日
    浏览(10)
  • 研发工程师玩转Kubernetes——自动扩缩容

    研发工程师玩转Kubernetes——自动扩缩容

    在《研发工程师玩转Kubernetes——使用Deployment进行多副本维护》一文中,我们通过Deployment实现了多副本维护——即维持在一个确定数量的副本个数。而在现实场景中,我们往往需要根据服务的压力,采用水平(横向)扩容的方式——即增加多个副本,来分担压力。当服务压力

    2024年02月06日
    浏览(12)
  • 18. Pod 自动管理——HPA 自动扩缩容机制

    前言 HPA 自动扩缩容机制 前面我们学习了 Deployment、 StatefulSet、DeamonSet、Job,明白了 Kubernetes 为了帮助我们更好的管理 Pod,提供了一系列好用的工具。但是还远远不止于此,以上工具还需要我们手动设置 replicas 副本数量。 我们来想象一种场景,我们服务已经正常上线了,运

    2024年02月03日
    浏览(7)
  • k8s 1.23.10 动态POD扩缩容(HPA )

    k8s 1.23.10 动态POD扩缩容(HPA )

    目录 为什么要自动扩缩容? 再K8S中扩容分为两种: 一、Node层面: 二、Pods层面: 自动扩缩容的方案有哪些 Kubernetes HPA (Horizontal Pod Autoscaling) Kubernetes KPA (Knative Pod Autoscaler) Kubernetes VPA (Vertical Pod Autoscaler) 基于HPA进行POD的扩缩容 kube-apiserver 配置: 安装metrcs-server与addon-

    2024年02月06日
    浏览(12)
  • 云原生之深入解析Airbnb的动态Kubernetes集群扩缩容

    Airbnb 基础设施的一个重要作用是保证我们的云能够根据需求上升或下降进行自动扩缩容,我们每天的流量波动都非常大,需要依靠动态扩缩容来保证服务的正常运行。为了支持扩缩容,Airbnb 使用了 Kubernetes 编排系统,并且使用了一种基于 Kubernetes 的服务配置接口。 现在来讨

    2024年02月06日
    浏览(15)
  • Kuibernetes 如何根据不同业务场景调节 HPA 扩缩容灵敏度

    在 K8s 1.18 之前,HPA 扩容是无法调整灵敏度的: 对于缩容,由  kube-controller-manager  的  --horizontal-pod-autoscaler-downscale-stabilization-window  参数控制缩容时间窗口,默认 5 分钟 ,即负载减小后至少需要等 5 分钟才会缩容。 对于扩容,由 hpa controller 固定的算法、硬编码的常量因子

    2024年02月14日
    浏览(13)
  • Docker进阶:mysql 主从复制、redis集群3主3从【扩缩容案例】

    Docker进阶:mysql 主从复制、redis集群3主3从【扩缩容案例】

    💖The Begin💖点点关注,收藏不迷路💖 首先,确保你已经安装了Docker。 要下载特定版本的Tomcat镜像,可以在 docker pull 命令后面添加 image_name: tag 参数。其中 tag 制定了镜像的版本号。 解决插入中文报错: 总结: docker安装完mysql,运行实例之后,建议先修改完字符集编码后再

    2024年02月10日
    浏览(11)
  • 第⑫讲:Ceph集群OSD扩缩容中Reblanceing数据的重分布

    第⑫讲:Ceph集群OSD扩缩容中Reblanceing数据的重分布

    当集群中OSD进行扩缩容操作后,会触发一个Reblanceing数据重分布的机制,简单的理解就是将扩缩容前后OSD中的PG在每一个OSD中进行均匀分布,如下图所示: 在扩容前集群有两个OSD节点,这两个OSD中分布着十个PG,扩容后,集群中有三个OSD节点,此时就会触发Reblanceing数据重分布

    2024年04月15日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包