CentOS部署Apache Doris 2.1.6三节点集群(超详细保姆级教程)
本文基于CentOS虚拟机环境,手把手教大家搭建Apache Doris 2.1.6 三节点高可用集群,全程无冗余操作,适配企业开发测试环境。本次部署采用三节点FE+三节点BE架构,保证集群高可用,适配大数据实时、离线分析场景。区别于普通部署文档,本文每一步操作都附带详细原理+作用解释,零基础也能看懂,所有步骤亲测可用,可直接复刻部署。操作系统:CentOS 7.xDoris版本:apache-d
一、前言
本文基于CentOS虚拟机环境,手把手教大家搭建Apache Doris 2.1.6 三节点高可用集群,全程无冗余操作,适配企业开发测试环境。
本次部署采用 三节点FE+三节点BE 架构,保证集群高可用,适配大数据实时、离线分析场景。区别于普通部署文档,本文每一步操作都附带详细原理+作用解释,零基础也能看懂,所有步骤亲测可用,可直接复刻部署。
二、部署环境介绍
2.1 基础环境
-
操作系统:CentOS 7.x
-
Doris版本:apache-doris-2.1.6-bin-x64(二进制免编译版)
-
运行依赖:JDK8+(已提前安装配置,Doris FE依赖Java环境启动)
-
防火墙:所有节点已关闭(避免端口拦截导致集群通信失败)
-
文件分发工具:自定义myscp 脚本(支持一键批量分发文件,省去逐台机器操作)
2.2 集群节点规划
所有节点均部署 FE、BE 服务,实现FE高可用+BE多副本,避免单点故障
|
IP地址 |
主机名 |
部署服务 |
服务作用 |
|---|---|---|---|
|
192.168.119.11 |
hadoop11 |
FE、BE(Master主节点) |
集群主管理节点,负责元数据管理、接收客户端请求、调度BE节点 |
|
192.168.119.12 |
hadoop12 |
FE、BE |
FE备用节点、BE数据存储节点,主FE故障可自动切换 |
|
192.168.119.13 |
hadoop13 |
FE、BE |
FE备用节点、BE数据存储节点,保障集群高可用与数据冗余 |
2.3 目录规划
-
安装包存放/解压目录:/opt/installs(统一存放各类软件安装包,规范环境)
-
软件安装目录:/opt/modules(统一部署运行中的大数据组件,方便统一管理)
-
环境变量配置文件:/etc/profile(系统全局环境变量,所有用户生效)
三、前置系统配置(所有节点执行)
该步骤为Doris必做系统优化,Doris作为大数据组件,高并发读写对系统资源要求高,不配置会出现启动失败、闪退、连接数不足、内存溢出等问题。三台机器必须全部执行。
3.1 修改文件句柄限制
作用:Linux系统默认单个进程最大文件打开数、进程数较小,Doris高并发查询、数据读写会创建大量文件连接,超出限制会直接报错宕机,调大后保障高并发稳定运行。
vi /etc/security/limits.conf
文件末尾追加以下内容:
root soft nofile 65535
root hard nofile 65535
root soft nproc 65535
root hard nproc 65535
参数解释:soft为软限制、hard为硬限制,nofile为最大文件打开数,nproc为最大进程数,统一拉满至65535,适配大数据高并发场景。
3.2 修改内核内存参数
作用:vm.max_map_count是Linux内核虚拟内存映射参数,Doris BE节点底层依赖内存映射读写数据,默认值过小会导致BE启动失败、内存映射不足,该参数为Doris部署硬性要求。
vi /etc/sysctl.conf
追加参数:
vm.max_map_count=2000000
生效配置:
sysctl -p
正常输出:vm.max_map_count = 2000000,无任何报错即为配置成功。
四、解压部署Doris(仅hadoop11执行)
操作说明:仅主节点hadoop11执行,后续通过myscp脚本分发到其他节点,减少重复操作,保证集群目录、版本完全一致。安装包已提前上传至 /opt/installs。
## 进入压缩包存放目录
# 作用:定位已上传的Doris压缩包
cd /opt/modules
# 解压Doris压缩包到安装目录
# 作用:直接解压至/opt/installs,该目录即为Doris最终运行目录
tar -zxvf apache-doris-2.1.6-bin-x64.tar.gz -C /opt/installs
# 进入解压目录,重命名为doris(规范目录名称,方便后续运维)
cd /opt/installs
mv apache-doris-2.1.6-bin-x64 doris
五、集群核心配置(仅hadoop11执行)
先配置主节点核心参数,分发后仅需修改其余节点IP,保证集群配置统一性,避免配置错乱。
5.1 配置FE节点参数
FE作用:Doris前端管理节点,负责元数据存储、SQL解析、集群管理、客户端连接交互,是集群的“大脑”。
vi /opt/installs/doris/fe/conf/fe.conf
修改核心绑定IP参数(其余参数默认即可):
priority_networks = 192.168.119.11/24
参数核心作用:服务器大多存在多网卡、多IP,该参数指定Doris集群通信使用的固定IP网段,不配置会导致集群节点乱绑定IP,节点无法上线、集群通信失败,是Doris集群最核心配置。
5.2 配置BE节点参数
BE作用:Doris后端数据存储节点,负责真实数据存储、数据分片、查询计算、数据读写落地。
vi /opt/installs/doris/be/conf/be.conf
修改核心绑定IP参数:
priority_networks = 192.168.119.11/24
参数作用:和FE一致,固定BE节点集群通信IP,保证FE可以正常发现、管理、调度当前BE节点。
5.3 配置全局环境变量
作用:配置全局环境变量后,任意目录下可直接使用Doris启停命令、客户端命令,无需输入绝对路径,简化运维操作。
vi /etc/profile
文件末尾追加Doris环境变量:
# Apache Doris Environment
# 指定Doris根目录
export DORIS_HOME=/opt/modules/doris
# 将FE、BE命令目录加入系统全局PATH
export PATH=$PATH:$DORIS_HOME/fe/bin:$DORIS_HOME/be/bin
生效环境变量:
source /etc/profile
执行作用:不重启服务器的情况下,立即加载新配置的环境变量,让命令全局生效。
六、分发配置文件至所有节点(hadoop11执行)
作用:利用自定义myscp分发脚本,一键同步主节点的Doris程序文件、环境变量配置,保证三台机器程序版本、目录结构、基础配置完全一致,杜绝集群配置不一致问题。
# 分发doris安装目录至hadoop12、hadoop13
# 作用:同步完整Doris程序,无需其余节点重复解压安装
myscp /opt/installs/doris
# 分发环境变量配置文件
# 作用:同步全局环境变量,保证所有节点命令通用
myscp /etc/profile
七、修改其余节点IP配置(hadoop12、hadoop13分别执行)
原理:分发后的配置文件默认是hadoop11的IP,每台机器需要绑定自己的本机IP,否则多节点IP冲突,集群通信异常。
7.1 hadoop12 节点配置
# 修改FE集群通信本机IP
vi /opt/installs/doris/fe/conf/fe.conf
priority_networks = 192.168.119.12/24
# 修改BE集群通信本机IP
vi /opt/installs/doris/be/conf/be.conf
priority_networks = 192.168.119.12/24
# 生效分发的环境变量
source /etc/profile
7.2 hadoop13 节点配置
# 修改FE集群通信本机IP
vi /opt/installs/doris/fe/conf/fe.conf
priority_networks = 192.168.119.13/24
# 修改BE集群通信本机IP
vi /opt/installs/doris/be/conf/be.conf
priority_networks = 192.168.119.13/24
# 生效分发的环境变量
source /etc/profile
八、启动FE高可用集群
核心原则:严格遵循 先启动主FE、再添加从FE、最后启动从FE,顺序错误会导致从FE无法加入集群、选举失败。
8.1 启动主FE(hadoop11)
作用:启动集群第一个Master FE,初始化集群元数据、生成集群唯一标识,作为集群主管理节点。
/opt/installs/doris/fe/bin/start_fe.sh --daemon
8.2 登录FE,添加从FE节点
作用:主FE启动后,需要手动将其余FE节点加入集群,完成FE高可用集群注册,实现主从切换。
# 连接Doris原生客户端(默认root用户、无密码、9030端口)
mysql -h hadoop11 -P9030 -uroot
执行集群配置SQL:
-- 添加两台从FE节点,9010为FE集群内部通信端口
ALTER SYSTEM ADD FOLLOWER "hadoop12:9010";
ALTER SYSTEM ADD FOLLOWER "hadoop13:9010";
-- 查看FE集群全部状态,校验是否正常加入
SHOW FRONTENDS;
判断标准:所有节点IsMaster、Alive状态全部为true即为正常。
8.3 启动从FE节点
作用:节点信息已注册至主集群,此时启动从FE,可自动同步主FE元数据,实现FE集群高可用。
hadoop12、hadoop13分别执行:
/opt/installs/doris/fe/bin/start_fe.sh --daemon
九、启动BE集群并加入集群
BE负责数据存储,需要全部启动后统一注册至FE集群,完成集群完整搭建。
9.1 所有节点启动BE服务
作用:启动所有数据存储节点,监听集群调度、数据读写请求。
三台机器全部执行:
/opt/installs/doris/be/bin/start_be.sh --daemon
9.2 添加所有BE节点至集群(hadoop11执行)
作用:BE启动后为孤立节点,需要手动注册到FE集群,接受FE统一管理、数据分片与调度。9050为BE集群通信端口。
mysql -h hadoop11 -P9030 -uroot
-- 批量注册三台BE节点
ALTER SYSTEM ADD BACKEND "hadoop11:9050";
ALTER SYSTEM ADD BACKEND "hadoop12:9050";
ALTER SYSTEM ADD BACKEND "hadoop13:9050";
-- 查看BE集群存活状态
SHOW BACKENDS;
判断标准:所有节点 Alive、Status 全部为true,BE集群部署成功。
十、集群功能验证
10.1 网页控制台访问
访问地址:http://192.168.119.11:8030
登录账号:root,密码:无
作用:Doris自带Web管理控制台,可可视化查看集群节点状态、资源占用、数据库表信息,方便运维管理。
10.2 数据读写测试
作用:通过建库、建表、插入、查询数据,完整验证集群元数据管理、数据存储、查询计算功能是否正常。
-- 创建测试数据库
CREATE DATABASE test_db;
-- 创建测试数据表
CREATE TABLE test_db.test_table(id INT) DISTRIBUTED BY HASH(id) BUCKETS 1;
-- 写入测试数据
INSERT INTO test_db.test_table VALUES(1);
-- 查询验证数据
SELECT * FROM test_db.test_table;
数据正常查询,代表集群读写功能完全正常!
十一、Doris常用运维命令
11.1 启停服务
# FE 启停
start_fe.sh --daemon
stop_fe.sh
# BE 启停
start_be.sh --daemon
stop_be.sh
11.2 日志查看
作用:集群报错、启动失败时,通过实时日志排查问题根源,是核心运维手段。
# FE实时日志
tail -f /opt/installs/doris/fe/log/fe.log
# BE实时日志
tail -f /opt/installs/doris/be/log/be.log
十二、部署避坑总结(必看)
-
priority_networks必配:多网卡环境不配该参数,集群IP绑定错乱,直接节点离线、通信失败
-
启动顺序严格固定:先主FE→注册从FE→启从FE→启所有BE→注册BE,顺序错误集群搭建失败
-
系统参数必优化:文件句柄、vm内存参数不修改,BE启动闪退、高并发宕机
-
环境变量必生效:分发profile后必须source,否则全局命令无法使用
-
防火墙必关闭:端口未放行/防火墙开启,节点端口不通,无法互相发现
-
IP配置一一对应:每台节点只能绑定自己的本机IP,IP冲突直接集群瘫痪
十三、结尾
至此,Apache Doris 2.1.6 三节点高可用集群 部署完成。本文详细解释了每一步操作的底层作用与部署原理,不仅可以复刻搭建,还能帮助新手理解Doris集群运行机制,后续可基于该集群进行参数调优、业务建表、数据同步、权限配置等进阶操作。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)