部署Doris存算一体集群
1. 下载 doris安装包
https://doris.apache.org/zh-CN/download

2. 安装jdk(所有节点执行)
2.1 解压
bash
tar -zxvf jdk-17.0.17_linux-x64_bin.tar.gz -C /data/java
配置环境变量
bash
vim /etc/profile
增加如下配置
bash
export JAVA_HOME=/data/java/jdk-17.0.17
export PATH=$JAVA_HOME/bin:$PATH
重载配置文件
bash
source /etc/profile

3. 系统参数配置(所有节点执行)
3.1 关闭 swap 分区
临时关闭
bash
swapoff -a
永久关闭
注释掉 /etc/fstab 中的 swap 分区
3.2 关闭系统透明大页
临时关闭
bash
echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
永久关闭
bash
cat >> /etc/rc.d/rc.local << EOF
echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
EOF
bash
chmod +x /etc/rc.d/rc.local
3.3 增加虚拟内存区域
bash
cat >> /etc/sysctl.conf << EOF
vm.max_map_count = 2000000
EOF
bash
sysctl -p
3.4 网络连接溢出时自动重置新连接
bash
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_abort_on_overflow=1
EOF
bash
sysctl -p
3.5 增加系统的最大文件句柄数
bash
vi /etc/security/limits.conf
增加如下配置
bash
* soft nofile 1000000
* hard nofile 1000000
3.6 安装并配置 NTP 服务
bash
sudo systemctl start ntpd.service
sudo systemctl enable ntpd.service
4. 解压doris安装包(所有节点执行)
bash
tar -zxvf apache-doris-3.1.4-bin-x64.tar.gz -C /data/doris

5. 配置 FE 节点(所有节点执行)
5.1 创建元数据存储目录
bash
mkdir -p /data/doris/doris-data/doris-meta
5.2 修改 fe/conf/fe.conf
增加如下配置
bash
# 本机 IP 段
priority_networks=192.169.188.0/24
# 数据存储目录必须存在且可写
storage_root_path=/data/doris/doris-data/doris-meta
# jdk
JAVA_HOME = /data/java/jdk-17.0.17
# 每个FE节点允许的最大并发连接数
qe_max_connection = 4096
# 单个用户允许建立的最大并发连接数
max_conn_per_user = 1024
修改JAVA_OPTS_FOR_JDK_17的内存设置
6. 配置 BE 节点(所有机器)
6.1 创建数据存储目录
bash
mkdir -p /data/doris/doris-data/storage
5.2 修改 be/conf/be.conf
增加如下配置
bash
storage_root_path=/data/doris/doris-data/storage
priority_networks=192.169.188.0/24
JAVA_HOME=/data/java/jdk-17.0.17
暂时没有加,后续可以加
bash
enable_java_support = true
enable_stream_load_record = true
enable_single_replica_load = true
7. 启动 FE Master 节点(Master节点)
bash
/data/doris/apache-doris-3.1.4-bin-x64/fe/bin/start_fe.sh --daemon
8. 安装mysql客户端 (Master节点执行)
bash
yum install mysql -y
使用mysql客户端连接doris
bash
mysql -h192.169.188.26 -P9030 -uroot
9. 注册 FE Follower节点(Master节点执行)
sql
ALTER SYSTEM ADD FOLLOWER "192.169.188.27:9010";
ALTER SYSTEM ADD FOLLOWER "192.169.188.28:9010";

10. 启动Follower节点(其他所有的Follower节点执行)
bash
/data/doris/apache-doris-3.1.4-bin-x64/fe/bin/start_fe.sh --helper 192.169.188.26:9010 --daemon
11. 查看节点状态(Master节点执行)
bash
mysql -h192.169.188.26 -P9030 -uroot
sql
show frontends;

12. FE 集群中注册 BE 节点(Master节点执行)
sql
ALTER SYSTEM ADD BACKEND "192.169.188.26:9050";
ALTER SYSTEM ADD BACKEND "192.169.188.27:9050";
ALTER SYSTEM ADD BACKEND "192.169.188.28:9050";
13. 启动所有 BE 服务(所有节点执行)
bash
/data/doris/apache-doris-3.1.4-bin-x64/be/bin/start_be.sh --daemon
14. 通过命令查看 BE 节点的状态(Master节点执行)
bash
mysql -h192.169.188.26 -P9030 -uroot
sql
show backends;

15. 修改root密码(Master节点执行)
在创建 Doris 集群时,系统会自动创建一个名为 root 的用户,并默认设置其密码为空。为了提高安全性,建议在集群创建后立即为 root 用户设置一个新密码。
sql
-- check the current user
select user();
+------------------------+
| user() |
+------------------------+
| 'root'@'192.169.188.26' |
+------------------------+
-- modify the password for current user
SET PASSWORD = PASSWORD('doris_new_passwd');
16. 创建测试表并插入数据(Master节点执行)

17. 常用操作
- 查看 FE 节点信息
sql
SHOW PROC '/frontends';
或
show frontends;
- 查看 FE 节点信息
sql
SHOW PROC '/backends';
或
show backends;
- 查询doris版本
sql
SHOW VARIABLES LIKE '%version_comment%';
- 关键端口说明
| 配置项 | 默认值 | 作用 |
|---|---|---|
http_port = 8030 |
8030 | HTTP 服务端口,用于访问 Doris 的 Web UI 界面,进行集群监控和管理。 |
rpc_port = 9020 |
9020 | RPC 端口,用于 FE 与 BE (Backend) 节点之间的内部通信。 |
query_port = 9030 |
9030 | MySQL 协议兼容端口,客户端(如 MySQL 客户端、JDBC)通过此端口连接 Doris 执行 SQL。 |
edit_log_port = 9010 |
9010 | Edit Log 端口,用于 FE 节点之间进行元数据同步。 |