Apache Doris 存储计算分离集群手动部署指南
前言
Apache Doris 作为一款高性能的MPP分析型数据库,其存储计算分离架构能够有效提升资源利用率和系统扩展性。本文将详细介绍如何手动部署Apache Doris的存储计算分离集群,帮助用户构建高可用、高性能的分析平台。
部署前准备
在开始部署前,请确保已完成以下准备工作:
- 环境检查:确保所有节点满足系统要求
- 集群规划:确定FE、BE、Meta Service等组件的部署节点
- 操作系统检查:确认系统参数配置正确
- 网络规划:确保节点间网络连通性良好
部署流程概览
完整的部署流程包含以下8个关键步骤:
- 准备FoundationDB集群
- 部署S3或HDFS共享存储服务
- 部署Meta Service
- (可选)独立部署数据回收功能
- 启动FE Master节点
- 构建FE集群
- 添加BE节点
- 创建Storage Vault
下面我们将详细介绍每个步骤的具体实施方法。
步骤一:FoundationDB集群部署
1. 机器要求
生产环境建议至少3台配备SSD的机器组成FoundationDB集群,实现双副本数据存储,可容忍单机故障。测试环境可使用单机部署。
2. 配置fdb_vars.sh脚本
必须配置的关键参数:
参数名 | 描述 | 类型 | 示例值 | 注意事项 |
---|---|---|---|---|
DATA_DIRS | FoundationDB数据目录 | 绝对路径列表 | /mnt/foundationdb/data1,/mnt/foundationdb/data2 | 生产环境建议使用SSD并分开目录 |
FDB_CLUSTER_IPS | 集群节点IP列表 | 逗号分隔IP地址 | 172.200.0.2,172.200.0.3,172.200.0.4 | 第一个IP将作为协调节点 |
FDB_HOME | FoundationDB家目录 | 绝对路径 | /fdbhome | 必须为绝对路径 |
FDB_CLUSTER_ID | 集群唯一标识 | 字符串 | SAQESzbh | 可使用mktemp -u XXXXXXXX 生成 |
FDB_CLUSTER_DESC | 集群描述信息 | 字符串 | dorisfdb | 建议设置有意义的值 |
可选配置参数:
参数名 | 描述 | 类型 | 示例值 | 注意事项 |
---|---|---|---|---|
MEMORY_LIMIT_GB | FDB内存限制(GB) | 整数 | 32 | 根据系统内存合理设置 |
3. 部署与启动
# 部署集群
./fdb_ctl.sh deploy
# 启动服务
./fdb_ctl.sh start
启动后将获取FDB集群连接字符串,用于后续Meta Service配置。
重要警告:生产环境严禁使用fdb_ctl.sh clean
命令,否则会导致数据丢失!
步骤二:S3/HDFS服务部署(可选)
Apache Doris存储计算分离模式下,数据存储在S3或HDFS共享存储中。若已有现成服务可跳过此步骤。
MinIO快速部署指南
-
下载MinIO Server和Client二进制包
-
启动MinIO Server:
export MINIO_REGION_NAME=us-east-1
export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=minioadmin
nohup ./minio server /mnt/data 2>&1 &
- 配置MinIO Client:
./mc config host add myminio http://127.0.0.1:9000 minio minioadmin
- 创建Bucket:
./mc mb myminio/doris
- 验证功能:
# 上传测试文件
./mc mv test_file myminio/doris
# 查看文件列表
./mc ls myminio/doris
步骤三:Meta Service部署
1. 关键配置
修改./conf/doris_cloud.conf
文件:
brpc_listen_port = 5000 # Meta Service监听端口
fdb_cluster = xxx:yyy@127.0.0.1:4500 # FoundationDB集群连接信息
注意:fdb_cluster
值应与FoundationDB部署机器上的/etc/foundationdb/fdb.cluster
文件内容一致。
2. 启动与停止
确保已设置JAVA_HOME
指向OpenJDK 17:
# 启动
export JAVA_HOME=${path_to_jdk_17}
bin/start.sh --daemon
# 停止
bin/stop.sh
生产环境建议部署至少3个Meta Service节点保证高可用。
步骤四:独立数据回收功能部署(可选)
Meta Service已内置元数据管理和回收功能,如需独立部署:
- 创建新工作目录并复制ms目录内容:
cp -r ms recycler
-
修改新目录中的配置参数
-
启动特定功能:
# 仅启动数据回收功能
bin/start.sh --recycler --daemon
# 仅启动元数据操作功能
bin/start.sh --meta-service --daemon
步骤五:启动FE Master节点
1. 关键配置
修改fe.conf
文件:
deploy_mode = cloud # 存储计算分离模式
cluster_id = 123456 # 集群唯一ID,不同集群必须不同
meta_service_endpoint = 127.0.0.1:5000 # Meta Service地址
注意:cluster_id
可使用echo $(($((RANDOM << 15)) | $RANDOM))
生成随机值。
2. 启动Master节点
bin/start_fe.sh --daemon
启动后使用MySQL客户端连接FE,执行show frontends
确认节点角色。
步骤六:构建FE集群
通过MySQL客户端连接到Master FE,添加其他FE节点:
-- 添加FOLLOWER节点
ALTER SYSTEM ADD FOLLOWER "host:port";
-- 添加OBSERVER节点
ALTER SYSTEM ADD OBSERVER "host:port";
生产环境建议:
- FOLLOWER节点总数保持奇数(通常3个足够)
- OBSERVER节点数量可任意
步骤七:添加BE节点
1. 关键配置
修改be.conf
文件:
deploy_mode = cloud # 存储计算分离模式
file_cache_path = [{"path":"/path/to/file_cache", "total_size":21474836480}] # 文件缓存配置
2. 启动与添加
# 启动BE进程
bin/start_be.sh --daemon
# 通过MySQL客户端添加BE
ALTER SYSTEM ADD BACKEND "<ip>:<heartbeat_service_port>" [PROPERTIES properties];
3. 验证状态
-- 查看BE状态
SHOW BACKENDS;
步骤八:创建Storage Vault
Storage Vault是存储计算分离架构中的核心组件,代表共享存储层。
1. 创建HDFS Storage Vault
CREATE STORAGE VAULT IF_NOT_EXISTS hdfs_vault
PROPERTIES (
"type"="hdfs",
"fs.defaultFS"="hdfs://127.0.0.1:8020"
);
2. 创建S3 Storage Vault
CREATE STORAGE VAULT IF_NOT_EXISTS s3_vault
PROPERTIES (
"type"="S3",
"s3.endpoint"="s3.us-east-1.amazonaws.com",
"s3.access_key" = "ak",
"s3.secret_key" = "sk",
"s3.region" = "us-east-1"
);
3. 设置默认Storage Vault
SET <storage_vault_name> AS DEFAULT STORAGE VAULT
注意事项
- 仅配置具有元数据操作功能的Meta Service作为FE和BE的
meta_service_endpoint
- 数据回收功能进程不应配置为
meta_service_endpoint
- 生产环境各组件都应部署多个实例保证高可用
- 定期检查各服务状态,确保集群健康运行
通过以上步骤,您已成功部署Apache Doris存储计算分离集群。后续可根据业务需求进行性能调优和容量扩展。
- DDeepSeek-V3.1-BaseDeepSeek-V3.1 是一款支持思考模式与非思考模式的混合模型Python00
- QQwen-Image-Edit基于200亿参数Qwen-Image构建,Qwen-Image-Edit实现精准文本渲染与图像编辑,融合语义与外观控制能力Jinja00
GitCode-文心大模型-智源研究院AI应用开发大赛
GitCode&文心大模型&智源研究院强强联合,发起的AI应用开发大赛;总奖池8W,单人最高可得价值3W奖励。快来参加吧~044CommonUtilLibrary
快速开发工具类收集,史上最全的开发工具类,欢迎Follow、Fork、StarJava04GitCode百大开源项目
GitCode百大计划旨在表彰GitCode平台上积极推动项目社区化,拥有广泛影响力的G-Star项目,入选项目不仅代表了GitCode开源生态的蓬勃发展,也反映了当下开源行业的发展趋势。06GOT-OCR-2.0-hf
阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00openHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!C0300- WWan2.2-S2V-14B【Wan2.2 全新发布|更强画质,更快生成】新一代视频生成模型 Wan2.2,创新采用MoE架构,实现电影级美学与复杂运动控制,支持720P高清文本/图像生成视频,消费级显卡即可流畅运行,性能达业界领先水平Python00
- GGLM-4.5-AirGLM-4.5 系列模型是专为智能体设计的基础模型。GLM-4.5拥有 3550 亿总参数量,其中 320 亿活跃参数;GLM-4.5-Air采用更紧凑的设计,拥有 1060 亿总参数量,其中 120 亿活跃参数。GLM-4.5模型统一了推理、编码和智能体能力,以满足智能体应用的复杂需求Jinja00
Yi-Coder
Yi Coder 编程模型,小而强大的编程助手HTML013
热门内容推荐
最新内容推荐
项目优选









