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

弹性扩展不求人:Doris 分布式架构与水平扩展方式全解析

弹性扩展不求人:Doris 分布式架构与水平扩展方式全解析

    • 前言:当数据增长成为常态
    • 一、架构全景:FE + BE,各司其职
      • 1.1 FE(Frontend):集群的"大脑"
      • 1.2 BE(Backend):集群的"肌肉"
    • 二、扩展方式全景图
    • 三、FE 扩展:提升查询并发能力
      • 3.1 什么时候需要扩展 FE?
      • 3.2 扩展 Follower(推荐生产环境)
      • 3.3 扩展 Observer(纯读扩展)
    • 四、BE 扩展:提升存储和计算能力
      • 4.1 扩容 BE:在线添加节点
      • 4.2 数据自动均衡机制
    • 五、BE 缩容:安全下线节点
      • 5.1 DECOMMISSION 方式(强烈推荐)
      • 5.2 DROP 方式(不推荐生产使用)
      • 5.3 两种方式对比
    • 六、扩展最佳实践
      • 6.1 容量规划黄金法则
      • 6.2 扩展时机建议
      • 6.3 注意事项清单
    • 七、监控命令速查
    • 总结

🌺The Begin🌺点点关注,收藏不迷路🌺

从 3 节点到 300 节点,揭秘 Doris 在线扩缩容背后的技术密码

前言:当数据增长成为常态

做大数据的人都有一个共识:数据量只会越来越大,永远不会变小

今天你的 Doris 集群可能有 10TB 数据,运行得风生水起;明天业务一爆发,数据量翻倍,节点就开始告警了。这时候你最需要的是什么?不关机、不停服、业务无感知地加机器——这就是水平扩展的魅力。

Doris 从设计之初就秉承 “Shared-Nothing” 的分布式架构理念,将水平扩展作为核心能力。今天,我们从架构原理实操命令,再到最佳实践,完整拆解 Doris 的水平扩展机制。


一、架构全景:FE + BE,各司其职

要理解 Doris 如何扩展,首先要搞清楚它的核心组件。

架构图:Doris 分布式架构

BE层 - 数据平面

FE层 - 控制平面

客户端层

MySQL Client
JDBC/ODBC

FE Master
元数据读写

FE Follower
元数据读取/备选

FE Follower
元数据读取/备选

FE Observer
只读扩展

BE 1
Tablet A1, B1

BE 2
Tablet A2, C1

BE 3
Tablet B2, C2

BE 4
新增节点

1.1 FE(Frontend):集群的"大脑"

FE 负责元数据管理、SQL 解析、查询计划生成和调度。FE 节点有三种角色:

角色数量要求职责是否参与选主
Master1 个元数据读写,集群管理是(Leader)
Follower至少 1 个(建议 2 个)元数据读取,故障时接替 Master
Observer按需仅元数据读取,扩展查询能力

关键规则:Master + Follower 的总数必须是奇数(如 1+2=3),这样才能通过 Paxos 协议保证元数据一致性。

1.2 BE(Backend):集群的"肌肉"

BE 负责数据存储和查询执行。数据以Tablet为单位分布在各 BE 上,每个 Tablet 有多个副本保证高可用。扩容 BE 时,系统会自动进行负载均衡,将部分 Tablet 迁移到新节点上。


二、扩展方式全景图

Doris 支持两种扩展维度,以及两种扩缩容路径。

流程图:Doris 扩展决策树

查询并发高
CPU 吃满

数据量大
存储不够

两者都有

高可用 + 适度扩展

极致读扩展

在线扩容
自动均衡

安全缩容

强制下线
有风险

需要扩展集群

瓶颈是什么?

扩展 FE

扩展 BE

同时扩展

扩展哪种 FE?

添加 Follower
参与选主,保证 HA

添加 Observer
不参与选主,纯读扩展

数据迁移策略

ADD BACKEND
数据自动迁移

DECOMMISSION
数据先迁移后下线

DROP BACKEND
不推荐生产使用

扩展完成


三、FE 扩展:提升查询并发能力

3.1 什么时候需要扩展 FE?

  • FE 节点的 CPU 使用率持续偏高
  • 查询响应变慢,尤其是大量小查询
  • 需要提高 FE 层的高可用性(从单节点扩展到 3 节点)

3.2 扩展 Follower(推荐生产环境)

Step 1:启动新 FE 节点

# 在新机器上,以 helper 模式启动./bin/start_fe.sh--helper<leader_fe_host>:<edit_log_port>--daemon

edit_log_port默认是 9010。

Step 2:注册为 Follower

-- 在 MySQL 客户端执行ALTERSYSTEMADDFOLLOWER"<new_fe_host>:<edit_log_port>";

Step 3:验证加入成功

SHOWPROC'/frontends';

3.3 扩展 Observer(纯读扩展)

Observer 不参与选主,只从 Master 同步元数据,适合纯读场景的水平扩展

ALTERSYSTEMADDOBSERVER"<observer_host>:<edit_log_port>";

实践建议

  • 一般场景下,3 个 FE(1 Master + 2 Follower)即可满足大多数业务需求
  • 如果查询并发极高(如 QPS > 50000),可增加 Observer 节点分担读压力
  • FE 节点数量不宜过多(建议 ≤ 5),因为元数据同步会有网络开销

四、BE 扩展:提升存储和计算能力

4.1 扩容 BE:在线添加节点

这是最常用的扩展操作,业务无感知,不中断服务

Step 1:启动 BE 进程

./bin/start_be.sh--daemon

Step 2:注册 BE 节点

ALTERSYSTEMADDBACKEND"<be_host>:<be_heartbeat_service_port>";

心跳端口默认是 9050。

Step 3:观察数据均衡

添加完成后,Doris 会自动开始数据均衡。可以通过以下命令查看进度:

SHOWPROC'/backends';

关注TabletNum字段,它会随着数据迁移逐渐增加。

4.2 数据自动均衡机制

扩容 BE 后,Doris 的负载均衡器会做两件事:

  1. 识别负载不均:检测各 BE 的 Tablet 数量差异
  2. 自动迁移 Tablet:将部分 Tablet 从高负载节点迁移到新节点

均衡时间估算

  • 每迁移 1TB 数据大约需要 1-2 小时
  • 整个集群均衡完成可能需要数小时到 1 天

调整迁移速度

-- 调整迁移并发度(默认 5)ADMINSETFRONTEND CONFIG("balance_slot_num_per_path"="10");

五、BE 缩容:安全下线节点

缩容比扩容更需要谨慎,因为涉及数据搬迁。

5.1 DECOMMISSION 方式(强烈推荐)

安全下线,数据先迁移,完成后自动删除节点。

ALTERSYSTEM DECOMMISSION BACKEND"<be_host>:<be_heartbeat_service_port>";

特点

  • 异步操作,数据会逐步迁移到其他 BE
  • 迁移完成后节点自动下线
  • 不会丢失数据

监控进度

-- 查看该 BE 的 TabletNum 是否在减少SHOWPROC'/backends';

取消下线(如果需要):

CANCEL DECOMMISSION BACKEND"<be_host>:<be_heartbeat_service_port>";

5.2 DROP 方式(不推荐生产使用)

ALTERSYSTEMDROPBACKEND"<be_host>:<be_heartbeat_service_port>";

⚠️ 警告:DROP 会直接删除节点,其上的数据将无法恢复! 除非你确定该节点上没有数据,否则不要在生产环境使用。

5.3 两种方式对比

对比项DECOMMISSIONDROP
数据安全✅ 完整迁移❌ 直接丢失
执行方式异步,后台迁移同步,立即生效
执行时间小时级到天级秒级
适用场景生产环境缩容测试环境、空节点下线

六、扩展最佳实践

6.1 容量规划黄金法则

组件建议数量说明
FE3 个(1 Master + 2 Follower)满足高可用,奇数个保证选主
FE Observer按需并发读特别高时增加
BE≥ 3 个满足 3 副本要求
单 BE 数据量≤ 10TB超过建议扩容
单 Tablet 大小1GB - 10GB最佳实践范围

6.2 扩展时机建议

扩容信号

  • BE 磁盘使用率 > 80%
  • BE CPU 平均使用率 > 70%
  • 查询延迟比正常高 50% 以上

缩容信号

  • 集群长期利用率 < 30%
  • 业务调整,数据量大幅减少

6.3 注意事项清单

  • FE 节点数保持奇数:Master + Follower 总数必须为奇数,否则选主会出问题
  • 扩容 BE 选业务低峰期:数据迁移会占用 IO 和网络带宽
  • DECOMMISSION 前检查容量:确保剩余 BE 有足够空间容纳迁移的数据
  • 监控迁移进度:使用SHOW PROC '/backends'观察 TabletNum 变化
  • 缩容后清理节点:手动删除已下线 BE 的数据目录

七、监控命令速查

操作命令
查看 FE 节点状态SHOW PROC '/frontends';
查看 BE 节点状态SHOW PROC '/backends';
添加 FollowerALTER SYSTEM ADD FOLLOWER "host:9010";
添加 ObserverALTER SYSTEM ADD OBSERVER "host:9010";
删除 FEALTER SYSTEM DROP FOLLOWER/OBSERVER "host:9010";
添加 BEALTER SYSTEM ADD BACKEND "host:9050";
安全下线 BEALTER SYSTEM DECOMMISSION BACKEND "host:9050";
取消 BE 下线CANCEL DECOMMISSION BACKEND "host:9050";
强制删除 BEALTER SYSTEM DROP BACKEND "host:9050";

总结

Doris 的水平扩展能力,是其作为一款企业级 MPP 数据库的核心竞争力之一。

核心要点回顾

  1. 架构分层:FE 管元数据,BE 管数据,各司其职,独立扩展
  2. FE 扩展:加 Follower 保证高可用,加 Observer 提升读并发
  3. BE 扩展:在线添加节点,数据自动均衡,业务无感知
  4. 安全缩容:用 DECOMMISSION 而非 DROP,先迁移后下线
  5. 黄金配置:3 FE + N BE(N ≥ 3),奇数个 FE 是铁律

一句话口诀

  • FE 要奇数,Follower 保 HA,Observer 扩读能力
  • BE 在线加,数据自动搬,缩容用 DECOMMISSION

记住:Doris 的扩展不是"能不能",而是"什么时候需要"。掌握了这套方法论,你的 Doris 集群可以从 3 台机器一路扩展到 300 台,从容应对任何数据增长挑战!


🌺The End🌺点点关注,收藏不迷路🌺
http://www.jsqmd.com/news/568012/

相关文章:

  • 2026硬核对比:Claude 4.6官网双版本解析与Gemini 3.1 Pro镜像如何选
  • ISO/SAE 21434:2021(道路车辆 - 网络安全工程) 汇总
  • 2026年湖北涂料采购指南:五大实力厂商深度解析与避坑建议 - 2026年企业推荐榜
  • 物联网安全学习路径:标准、案例、技术资源渠道全整理
  • 5大核心价值重构云游戏体验:Sunshine让你的游戏突破硬件与空间限制
  • Windows苹果设备驱动终极解决方案:告别iTunes的快速安装指南
  • YOLOv12涨点改进| TGRS 2026 | 独家创新首发、特征融合改进篇| 引入STSAM协同时空注意力融合模块,发论文热点创新,注意力能够互相引导强化边界和结构细节,增强目标检测、图像分割涨点
  • 2026长沙家装设计公司实力榜:五大服务商深度测评与选型指南 - 2026年企业推荐榜
  • 【技术解析】Style Blind:无需外部数据的语义分割域泛化新范式
  • 【已验证】STM32驱动OLED(SSD1306)显示字符
  • 网易云音乐直链解析技术方案:打造稳定访问的音乐资源管理解决方案
  • Anubi基金会为何押注Cassava?深度解析Web3数据层+社交任务的黄金组合
  • DanKoe 视频笔记:个人成长:如何变得更加“不同意”(创造一个现实扭曲场)
  • 2026年成都商用家具批发市场服务商综合评估与选择指南 - 2026年企业推荐榜
  • 如何选择ComfyUI-FramePackWrapper的模型加载方案?从技术选型到场景适配全解析
  • YOLOv12涨点改进| TGRS 2026 |全网独家首发、特征融合改进篇| 引入DAWIM差异感知小波交互融合模块,增强边缘、纹理和结构信息,结合频域信息,增强小目标检测、分割涨点,发论文热点创新
  • 驱动管理效率革命:如何用DriverStore Explorer解决Windows系统维护难题?
  • 2026武汉酒店攻略:景点周边高性价比之选全解析 - 2026年企业推荐榜
  • SeqGPT-560M开源可部署:支持国产昇腾/海光平台适配(需定制镜像)
  • 别再傻傻分不清了!一文搞懂微信支付代金券和商家券的核心区别与适用场景
  • YOLOv13涨点改进| TGRS 2026 |全网独家首发、特征融合改进篇| 引入DAWIM差异感知小波交互融合模块,增强边缘、纹理和结构信息,结合频域信息,增强小目标检测、分割涨点,发论文热点创新
  • 2026年武汉首饰翻新机构综合实力排行榜发布 - 2026年企业推荐榜
  • 前瞻2026:金堂墙布选购指南,五大服务商深度解析 - 2026年企业推荐榜
  • 从外包到自主:2026年企业AI营销孵化服务深度测评与选型指南 - 2026年企业推荐榜
  • 让Claude code界面化的超好用工具:图文并茂教你用Paperclip建个AI团队 | Paperclip使用完全指南
  • 如何免费搭建个人知识库?Trilium Notes中文版完全指南
  • 胡桃工具箱:免费开源的原神桌面助手如何提升你的游戏体验
  • 甘孜中蜂蜂王优质厂家深度测评:2026年谁更靠谱? - 2026年企业推荐榜
  • YOLOv13涨点改进| TGRS 2026 | 独家创新首发、特征融合改进篇| 引入STSAM协同时空注意力融合模块,发论文热点创新,注意力能够互相引导强化边界和结构细节,增强目标检测、图像分割涨点
  • 2026年四川一次性餐具采购全攻略:品牌、趋势与选购标准 - 2026年企业推荐榜