跳到主要内容

操作系统检查

部署 Doris 前,需完成以下操作系统检查与配置:

检查项目的
关闭 swap 分区避免内核策略影响性能
关闭透明大页 (THP)防止内存碎片与性能波动
增大虚拟内存区域避免文件句柄不足
禁用 CPU 省电模式保证高负载下稳定性能
网络连接溢出重置避免高并发下连接挂起
端口畅通 / 关闭防火墙保证组件间通信
增大文件句柄数支撑大量表数据文件
安装 NTP 服务保证元数据时间精度 < 5000ms

关闭 swap 分区

关闭 swap 可避免内核将数据移动到 swap 分区,影响 Doris 性能。

临时关闭(重启后失效):

swapoff -a

永久关闭:注释掉 /etc/fstab 中的 swap 行,重启生效。

# /etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>
tmpfs /tmp tmpfs nodev,nosuid 0 0
/dev/sda1 / ext4 defaults,noatime 0 1
# /dev/sda2 none swap defaults 0 0
/dev/sda3 /home ext4 defaults,noatime 0 2

关闭透明大页

关闭 THP(Transparent Huge Pages)可减少内存碎片,保证 Doris 稳定使用内存。

临时关闭

echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
echo madvise > /sys/kernel/mm/transparent_hugepage/defrag

永久关闭

cat >> /etc/rc.d/rc.local << EOF
echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
EOF
chmod +x /etc/rc.d/rc.local

增大虚拟内存区域

增大 VMA(虚拟内存区域)避免 Doris 启动或运行时报 Too many open files 错误。

cat >> /etc/sysctl.conf << EOF
vm.max_map_count = 2000000
EOF

sysctl -p

禁用 CPU 省电模式

禁用省电模式可保证高负载下 CPU 频率稳定。若 CPU 不支持 Scaling Governor,可跳过。

echo 'performance' | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

网络连接溢出时重置

启用 tcp_abort_on_overflow 可在连接溢出时立即中断,避免高负载下连接长时间挂起。

cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_abort_on_overflow=1
EOF

sysctl -p

端口畅通

若端口不通,排查防火墙:

sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service

或根据 Doris 端口配置开放相应端口。

增大文件句柄数

Doris 依赖大量文件管理表数据,需调高文件句柄限制。

vi /etc/security/limits.conf
* soft nofile 1000000
* hard nofile 1000000

修改后需重启会话生效。

安装 NTP 服务

保证集群所有机器时钟同步,元数据时间精度需 < 5000ms。

sudo systemctl start ntpd.service
sudo systemctl enable ntpd.service