手把手教你:在无外网的老旧服务器上部署Apache Doris 1.2.6(含AVX2避坑指南) 在无外网的老旧服务器上部署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对于完全离线的环境需提前准备Doris安装包含no-AVX2版本所有依赖库特别是Java环境系统调优工具包2. 离线安装包获取与处理在隔离网络中安装包的获取需要特殊处理。推荐以下两种方式方法一跳板机中转在外网机器下载wget https://archive.apache.org/dist/doris/1.2.6/apache-doris-1.2.6-bin-x64-noavx2.tar.xz使用sha512sum验证完整性通过安全介质传输到内网方法二定制化构建对于有特殊安全要求的场景可基于源码构建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 90303.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 -p4.2 JVM环境配置遇到libjvm.so缺失问题时按以下步骤解决确认JAVA_HOME路径echo $JAVA_HOME创建符号链接ln -s ${JAVA_HOME}/jre/lib/amd64/server/libjvm.so /usr/lib64/更新库缓存ldconfig5. 服务启动与验证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\G5.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\G6. 常见问题解决方案问题1RPC超时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. 安全加固建议修改默认密码SET PASSWORD FOR root PASSWORD(ComplexPassword123);创建专属用户CREATE USER doris_admin IDENTIFIED BY AdminPass456; GRANT ALL ON *.* TO doris_admin;启用审计日志 在fe.conf中添加enable_audit_plugin true audit_plugin_dir ${DORIS_HOME}/audit_plugins8. 性能监控与维护建议部署后立即设置监控关键指标采集SHOW PROC /backends\G SHOW PROC /frontends\G定期执行ANALYZE TABLE db_name.tbl_name;存储优化ADMIN SET REPLICA STATUS PROPERTIES(status ok);在实际运维中我发现每周执行一次COMPACT操作能显著提升查询性能ALTER TABLE db_name.tbl_name COMPACT;