CentOS 7.x 安装配置 Apache Doris 详细教程-元一软件

📅2026/7/15 5:17:16 👁️次浏览
CentOS 7.x 安装配置 Apache Doris 详细教程-元一软件
CentOS 7.x 安装配置 Apache Doris 详细教程一、环境准备1.1 系统与硬件要求表格项目测试环境最低要求生产环境建议操作系统CentOS 7.3 (64 位)CentOS 7.9CPU4 核 16 核 内存FE: 8GB / BE: 16GBFE: 64GB / BE: 64GB磁盘100GBSSD 500GB1.2 软件依赖版本Doris 2.x: JDK 17推荐Doris 1.x: JDK 1.8MySQL 客户端用于连接测试注意Doris 0.14.13.1 及之后版本 CPU 需要支持 AVX2 指令集。检查命令bash运行cat /proc/cpuinfo | grep avx2若无输出需下载带noavx2后缀的安装包。二、系统优化配置所有节点执行2.1 关闭防火墙和 SELinux# 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭SELinux setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config2.2 关闭交换分区# 临时关闭 swapoff -a # 永久关闭注释swap行 sed -i s/.*swap.*/#/ /etc/fstab2.3 设置文件句柄数cat /etc/security/limits.conf EOF * soft nofile 1000000 * hard nofile 1000000 * soft nproc 65535 * hard nproc 65535 EOF修改后需重新登录终端生效可通过ulimit -n验证。2.4 调整内核参数cat /etc/sysctl.conf EOF vm.max_map_count 2000000 vm.swappiness 0 net.ipv4.tcp_syncookies 1 net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_tw_recycle 1 EOF # 生效 sysctl -p2.5 关闭透明大页 (THP)# 临时生效 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.local2.6 时钟同步# 安装chrony yum install -y chrony # 启动并设置开机自启 systemctl start chronyd systemctl enable chronyd # 验证时间同步 chronyc sourcesDoris 要求集群节点时钟偏差小于 5000ms否则会导致元数据异常。2.7 配置 hosts 文件所有节点配置主机名映射示例cat /etc/hosts EOF 192.168.1.101 doris-node1 192.168.1.102 doris-node2 192.168.1.103 doris-node3 EOF2.8 创建运行用户推荐useradd doris passwd doris # 后续建议使用doris用户运行服务三、安装 JDK3.1 Doris 2.x 安装 JDK 17# 安装OpenJDK 17 yum install -y java-17-openjdk java-17-openjdk-devel # 配置环境变量 cat /etc/profile EOF export JAVA_HOME/usr/lib/jvm/java-17-openjdk export PATH\$JAVA_HOME/bin:\$PATH EOF source /etc/profile # 验证 java -version3.2 Doris 1.x 安装 JDK 8yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel cat /etc/profile EOF export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk export PATH\$JAVA_HOME/bin:\$PATH EOF source /etc/profile四、下载并解压 Doris4.1 下载安装包以 Doris 2.1.8 版本为例选择对应版本cd /usr/local # 下载支持AVX2 wget https://archive.apache.org/dist/doris/2.1.8/apache-doris-2.1.8-bin-x64.tar.gz # 若CPU不支持AVX2下载noavx2版本 # wget https://archive.apache.org/dist/doris/2.1.8/apache-doris-2.1.8-bin-x64-noavx2.tar.gz官方下载地址https://doris.apache.org/download/4.2 解压并重命名tar -xzvf apache-doris-2.1.8-bin-x64.tar.gz mv apache-doris-2.1.8-bin-x64 doris # 设置目录权限 chown -R doris:doris /usr/local/doris4.3 配置环境变量cat /etc/profile EOF export DORIS_HOME/usr/local/doris export PATH\$DORIS_HOME/fe/bin:\$DORIS_HOME/be/bin:\$PATH EOF source /etc/profile五、配置并启动 FE (Frontend)5.1 创建元数据目录mkdir -p /data/doris/fe/doris-meta chown -R doris:doris /data/doris5.2 修改 FE 配置文件vim /usr/local/doris/fe/conf/fe.conf核心配置项根据实际情况修改# 元数据存储目录必须提前创建 meta_dir /data/doris/fe/doris-meta # 网络绑定多网卡时必须配置指定内网网段 priority_networks 192.168.1.0/24 # JVM 内存配置根据机器内存调整 JAVA_OPTS-Xms8g -Xmx8g -XX:UseG1GC -XX:MaxGCPauseMillis200 # 端口配置默认即可冲突时修改 http_port 8030 # Web UI端口 rpc_port 9020 # 内部RPC端口 query_port 9030 # MySQL协议查询端口 edit_log_port 9010 # 元数据日志同步端口 # 日志目录 sys_log_dir /data/doris/fe/log audit_log_dir /data/doris/fe/log关键说明priority_networks是最容易踩坑的配置多网卡机器必须配置格式为IP/掩码位如192.168.1.101/24。5.3 启动 FE# 切换到doris用户 su - doris # 启动FE首次启动 cd /usr/local/doris/fe bin/start_fe.sh --daemon5.4 验证 FE 启动# 查看进程 ps aux | grep PaloFe # 查看日志 tail -f /usr/local/doris/fe/log/fe.log # 访问Web UI # 浏览器打开: http://FE_IP:8030 # 默认账号: root 密码: 空FE 启动成功后日志中会出现transfer from UNKNOWN to MASTER。六、配置并启动 BE (Backend)6.1 创建数据存储目录mkdir -p /data/doris/be/storage chown -R doris:doris /data/doris/be生产环境建议配置多块磁盘用分号分隔例如/data1,medium:SSD;/data2,medium:HDD6.2 修改 BE 配置文件vim /usr/local/doris/be/conf/be.conf核心配置项ini# 数据存储目录 storage_root_path /data/doris/be/storage # 网络绑定与FE同网段 priority_networks 192.168.1.0/24 # 端口配置 be_port 9060 # BE内部服务端口 webserver_port 8040 # BE Web端口 heartbeat_service_port 9050 # 心跳端口 # 内存配置建议为机器内存的70%-80% mem_limit 80% # 日志目录 sys_log_dir /data/doris/be/log6.3 启动 BEsu - doris cd /usr/local/doris/be bin/start_be.sh --daemon6.4 验证 BE 启动# 查看进程 ps aux | grep doris_be # 查看日志 tail -f /usr/local/doris/be/log/be.INFO七、将 BE 添加到集群BE 启动后不会自动加入集群需要通过 MySQL 客户端在 FE 上执行添加命令。7.1 安装 MySQL 客户端yum install -y mysql7.2 连接 FE 并添加 BE# 连接FE默认端口9030root用户无密码 mysql -h 127.0.0.1 -P 9030 -u root在 MySQL 命令行中执行sql-- 添加BE节点heartbeat_service_port默认9050 ALTER SYSTEM ADD BACKEND 192.168.1.101:9050; -- 多节点依次添加 -- ALTER SYSTEM ADD BACKEND 192.168.1.102:9050; -- ALTER SYSTEM ADD BACKEND 192.168.1.103:9050; -- 查看BE状态 SHOW BACKENDS\G看到Alive: true表示 BE 已成功加入集群。八、功能验证8.1 创建数据库和表sql-- 创建数据库 CREATE DATABASE test_db; -- 使用数据库 USE test_db; -- 创建测试表 CREATE TABLE test_table ( id INT, name VARCHAR(50), age INT ) DUPLICATE KEY(id) DISTRIBUTED BY HASH(id) BUCKETS 10 PROPERTIES (replication_num 1);单机测试时replication_num设为 1生产环境建议 3。8.2 插入并查询数据sql-- 插入数据 INSERT INTO test_table VALUES (1, Alice, 25), (2, Bob, 30), (3, Charlie, 35); -- 查询数据 SELECT * FROM test_table;8.3 查看集群状态sql-- 查看FE状态 SHOW FRONTENDS\G -- 查看BE状态 SHOW BACKENDS\G -- 查看集群健康状态 SHOW PROC /cluster_health\G九、集群扩容可选9.1 扩容 FE 节点在新节点配置好 FE 后以 helper 方式启动bin/start_fe.sh --helper master_fe_ip:9010 --daemon然后在 Master FE 上添加sql-- 添加Follower角色FE ALTER SYSTEM ADD FOLLOWER new_fe_ip:9010; -- 添加Observer角色FE ALTER SYSTEM ADD OBSERVER new_fe_ip:9010;9.2 扩容 BE 节点新节点启动 BE 后在 FE 上执行添加即可sqlALTER SYSTEM ADD BACKEND new_be_ip:9050;十、服务启停命令FE 启停# 启动 bin/start_fe.sh --daemon # 停止 bin/stop_fe.sh # 重启 bin/stop_fe.sh bin/start_fe.sh --daemonBE 启停# 启动 bin/start_be.sh --daemon # 停止 bin/stop_be.sh # 重启 bin/stop_be.sh bin/start_be.sh --daemon十一、常见问题排查1. FE 启动失败端口被占用# 检查端口占用 netstat -tlnp | grep 8030 # 修改 fe.conf 中的端口配置2. BE 无法连接 FE检查priority_networks配置是否正确确认防火墙已关闭检查 BE 日志中的错误信息3. BE 状态显示 Alive: falsesql-- 查看BE最后一次心跳失败原因 SHOW BACKENDS\G -- 重点查看 LastStartTime、LastHeartbeat、ErrMsg 字段4. vm.max_map_count 报错启动时提示Please set vm.max_map_count to be 2000000执行sysctl -w vm.max_map_count20000005. 文件句柄数不足启动报错Too many open files确认limits.conf配置后重新登录用户。十二、端口清单表格组件端口用途FE8030HTTP Web UIFE9030MySQL 协议查询端口FE9020内部 RPC 通信FE9010元数据日志同步edit_logBE9050心跳服务端口BE9060BE 内部服务端口BE8040BE Web 监控端口BE8060BRPC 端口