手把手教你:在无外网的老旧服务器上部署Apache Doris 1.2.6(含AVX2避坑指南)
2026/6/1 12:57:36 网站建设 项目流程

在无外网的老旧服务器上部署Apache Doris 1.2.6全攻略

1. 环境预检与准备工作

老旧服务器部署Apache Doris前,必须进行全面的环境检查。不同于常规部署,离线环境下的问题排查成本极高,任何疏漏都可能导致后续步骤无法继续。

CPU指令集检查是首要任务。执行以下命令检测AVX2支持情况:

cat /proc/cpuinfo | grep avx2

若输出为空,则必须选择no-AVX2版本。我曾在一台2014年的Dell R720上遇到因忽略此检查导致BE进程崩溃的情况,最终耗费3小时重新部署。

系统资源限制同样关键,建议在部署前执行以下检查:

  • 文件句柄数:ulimit -n
  • 内存可用量:free -h
  • 磁盘空间:df -h

对于完全离线的环境,需提前准备:

  1. Doris安装包(含no-AVX2版本)
  2. 所有依赖库(特别是Java环境)
  3. 系统调优工具包

2. 离线安装包获取与处理

在隔离网络中,安装包的获取需要特殊处理。推荐以下两种方式:

方法一:跳板机中转

  1. 在外网机器下载:
    wget https://archive.apache.org/dist/doris/1.2.6/apache-doris-1.2.6-bin-x64-noavx2.tar.xz
  2. 使用sha512sum验证完整性
  3. 通过安全介质传输到内网

方法二:定制化构建对于有特殊安全要求的场景,可基于源码构建:

git clone https://github.com/apache/doris.git cd doris && git checkout 1.2.6 sh build.sh --clean --release --disable-avx2

解压安装包时建议采用以下命令组合:

xz -d apache-doris-1.2.6-bin-x64-noavx2.tar.xz tar -xvf apache-doris-1.2.6-bin-x64-noavx2.tar mkdir -p /data/{doris-meta,storage}

3. 关键配置调整

3.1 FE配置优化

fe.conf中需要特别关注的参数:

参数推荐值说明
meta_dir/data/doris-meta元数据存储路径
priority_networks内网IP/24指定通信网段
http_port8030Web界面端口
rpc_port9020FE-BE通信端口
query_port9030MySQL协议端口

典型配置示例:

meta_dir = /data/doris-meta priority_networks = 192.168.1.100/24 http_port = 8030 rpc_port = 9020 query_port = 9030

3.2 BE配置调优

be.conf的核心参数调整:

storage_root_path = /data/storage priority_networks = 192.168.1.100/24 sys_log_dir = ${DORIS_HOME}/log sys_log_roll_mode = SIZE-MB-1024 trash_file_expire_time_sec = 86400

对于老旧服务器,建议增加内存限制配置:

mem_limit = 60% storage_page_cache_limit = 40%

4. 系统级调优

4.1 文件句柄数调整

执行以下命令永久修改限制:

echo "* soft nofile 204800" >> /etc/security/limits.conf echo "* hard nofile 204800" >> /etc/security/limits.conf echo "fs.file-max = 6553560" >> /etc/sysctl.conf sysctl -p

4.2 JVM环境配置

遇到libjvm.so缺失问题时,按以下步骤解决:

  1. 确认JAVA_HOME路径:
    echo $JAVA_HOME
  2. 创建符号链接:
    ln -s ${JAVA_HOME}/jre/lib/amd64/server/libjvm.so /usr/lib64/
  3. 更新库缓存:
    ldconfig

5. 服务启动与验证

5.1 FE启动流程

cd /data/doris/fe/bin ./start_fe.sh --daemon tail -f ../log/fe.log

验证FE状态:

mysql -h127.0.0.1 -P9030 -uroot > SHOW FRONTENDS\G

5.2 BE节点加入

启动BE服务:

cd /data/doris/be/bin ./start_be.sh --daemon tail -f ../log/be.log

将BE加入集群:

ALTER SYSTEM ADD BACKEND "192.168.1.100:9050";

检查BE状态:

SHOW BACKENDS\G

6. 常见问题解决方案

问题1:RPC超时

SET GLOBAL query_timeout = 10000; SET GLOBAL tx_commit_timeout_second = 300;

问题2:内存不足be.conf中增加:

flush_thread_num_per_store = 2 write_buffer_size = 104857600

问题3:磁盘空间监控设置自动清理阈值:

ALTER SYSTEM SET storage_medium_migrate_disabled = true; ALTER SYSTEM SET storage_flood_stage_usage_percent = 95;

7. 安全加固建议

  1. 修改默认密码:
    SET PASSWORD FOR 'root' = PASSWORD('Complex@Password123');
  2. 创建专属用户:
    CREATE USER 'doris_admin' IDENTIFIED BY 'Admin@Pass456'; GRANT ALL ON *.* TO 'doris_admin';
  3. 启用审计日志: 在fe.conf中添加:
    enable_audit_plugin = true audit_plugin_dir = ${DORIS_HOME}/audit_plugins

8. 性能监控与维护

建议部署后立即设置监控:

  1. 关键指标采集:
    SHOW PROC '/backends'\G SHOW PROC '/frontends'\G
  2. 定期执行:
    ANALYZE TABLE db_name.tbl_name;
  3. 存储优化:
    ADMIN SET REPLICA STATUS PROPERTIES("status" = "ok");

在实际运维中,我发现每周执行一次COMPACT操作能显著提升查询性能:

ALTER TABLE db_name.tbl_name COMPACT;

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询