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

Doris部署生产集群最低要求的部署方案

Doris生产集群最低部署方案(2025年4月版)


一、节点规划与数量

1. FE节点(Frontend)

  • 数量:至少 3个节点(1个Follower + 2个 Observer),确保高可用(HA)。
  • 角色分配
    • Follower:参与元数据读写和Leader选举。
    • Observer:仅提供元数据备份和查询负载均衡,不参与选举。

2. BE节点(Backend)

  • 数量:至少 3个节点(每个物理机部署1个BE实例),支持 3副本数据存储,避免单机多实例导致数据分布不均。

二、硬件配置要求

组件CPU内存磁盘网络实例数来源
FE16核+64GB+SSD或RAID卡,100GB+万兆网卡3
BE16核+64GB+SSD/SATA,单盘≥1TB万兆网卡3

详细说明

  • FE磁盘:元数据(meta_dir)需单独挂载 SSD,容量≥100GB,避免与日志混合存储。
  • BE磁盘:总容量=原始数据量 × 3(副本数) × 1.4(预留40% Compaction空间)。
    • 若混合存储介质(如SSD+HDD),需在storage_root_path中标记介质类型(如/data1.HDD;/data2.SSD)。

三、操作系统与软件环境

1. 操作系统

  • 版本:CentOS 7.1+ / Ubuntu 16.04+,推荐 CentOS 7.9(稳定性已验证)。
  • 文件系统:ext4或xfs。

2. 系统优化

  • 关闭Swapswapoff -a并永久禁用。
  • 文件句柄数
    echo "* soft nofile 65536" >> /etc/security/limits.conf  
    echo "* hard nofile 65536" >> /etc/security/limits.conf  
    
  • 时钟同步:所有节点时间偏差≤5秒(使用NTP服务)。
  • 内存参数vm.max_map_count=2000000(防止BE启动失败)。

四、网络与端口配置

端口默认值用途通信方向来源
FE query_port9030MySQL协议查询入口用户→FE
FE http_port8030Web管理界面FE↔FE、用户→FE
BE be_port9060接收FE的元数据操作请求FE→BE
BE brpc_port8060BE节点间数据传输(高性能RPC)BE↔BE、FE→BE

网络要求

  • 带宽:万兆网卡(10Gbps),降低节点间数据传输延迟。
  • IP绑定:多网卡环境下需在fe.confbe.conf中指定priority_networks(如10.193.0.0/24)。

五、部署流程(精简版)

1. 环境准备

  • 创建专用用户(如doris),分配/data/doris目录权限。
  • 安装Java 1.8(FE/BE依赖)和GCC 4.8.2+(编译工具链)。

2. FE部署

  • 配置文件fe.conf):
    meta_dir = /data/doris-meta  # 独立SSD磁盘  
    priority_networks = 10.193.0.0/24  
    JAVA_OPTS = "-Xmx16G"        # 堆内存≥8GB  
    
  • 启动命令bin/start_fe.sh --daemon

3. BE部署

  • 配置文件be.conf):
    storage_root_path = /data1/doris.HDD;/data2/doris.SSD  
    
  • 注册BE:通过MySQL客户端连接FE执行:
    ALTER SYSTEM ADD BACKEND "BE_IP:9050";  # 依次添加所有BE节点  
    

六、验证与监控

1. 健康检查

  • FE状态:curl http://FE_IP:8030/api/bootstrap返回{"status":"OK"}
  • BE状态:SHOW BACKENDS\G查看节点存活及磁盘使用率。

2. 监控工具

  • Prometheus + Grafana:采集BE的tablet_num、FE的query_latency等指标。

七、扩展与高可用建议

  • FE扩展:新增Observer节点分担查询压力,不影响元数据写入。
  • BE扩容:按数据增长线性增加BE节点,单集群建议10-100台。
  • 混合部署:若FE与BE混部,需隔离元数据目录与数据目录至不同磁盘。

相关文章:

  • 【mysql】Mac 通过 brew 安装 mysql 、启动以及密码设置
  • Git完全指南:从入门到精通版本控制 ------- Git标签的认识(9)
  • 用 DeepSeek 精准解析,PDF 一键转电子书!
  • 安卓基础(生命周期)
  • 智绘地籍“一张图”:开启土地管理的数字化新纪元‌
  • Android动态化技术优化
  • UE5 设置物体的位置
  • Android --- SystemUI启动流程
  • 2025年最新版动漫短剧系统开发小程序app教程,源码部署上线
  • HTTP与HTTPS的区别
  • 热烈祝贺“中芯机械”选择使用订单日记
  • 【数据库原理及安全实验】实验三 查询语句
  • STM32江科大-----PWR电源控制
  • 机器学习中的对抗规范化:从问题到解决方案
  • 多模态思维链AI医疗编程:从计算可持续性到开放域推理的系统性解决方案
  • 自然语言处理的进化:BERT模型深度剖析
  • 现代c++获取linux系统磁盘大小
  • Linux搭建环境:从零开始掌握基础操作(四)
  • 详细解释MCP项目中安装命令 bunx 和 npx区别
  • Python爬虫第四战(使用防盗链下载视频)
  • 网站制作步骤是什么/东莞今日头条新闻
  • 网站怎么防k/如何做宣传推广效果最好
  • wordpress模板文件夹/太原网站制作优化seo
  • 移动端 pc网站开发/qq推广软件
  • 如何开淘宝店做国外网站/京东关键词优化技巧
  • 网站开发周期/seosem顾问