在银河麒麟v10 sp3 arm系统上部署apache doris需严格匹配国产化环境:使用毕昇jdk 8 arm版、关闭swap、调高vm.max_map_count、下载aarch64二进制包;配置priority_networks后启动fe,建库建表时须设replication_num="1"。

在银河麒麟操作系统(尤其是V10 SP3 ARM架构)上安装并配置Apache Doris,需严格匹配国产化环境要求:毕昇JDK 8或OpenJDK 17、关闭Swap、调高系统限制、适配ARM二进制包——任一环节错配都会导致FE启动失败或BE无法注册。
准备基础运行环境
先确认系统架构和内核版本,避免误用x86安装包:uname -m 输出应为 aarch64,cat /etc/os-release | grep PRETTY_NAME 应显示“Kylin V10 SP3”。
卸载系统自带JDK(如有):yum remove -y java-1.8.0-* java-11*。银河麒麟最小化安装通常无预装JDK,但若存在必须清除,否则会干扰后续JAVA_HOME指向。
下载并部署毕昇JDK 8(ARM专用):wget https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_jdk/bisheng-jdk-8u382-linux-aarch64.tar.gz → 解压至 /opt/soft/java/ → 创建软链接 ln -sfn bisheng-jdk1.8.0_382 java。
配置全局Java环境:
cat → 执行 <code>source /etc/profile</code> → 验证 <code>java -version</code> 输出含“Bisheng”且为1.8.0_382。<p><strong>【关键前提】</strong>必须使用ARM平台编译的Doris二进制包,x86版在鲲鹏920上直接报“Exec format error”——官网下载页务必勾选“Architecture: aarch64”或“ARM64”。</p><h2>调优系统内核与资源限制</h2><p>编辑 <code>/etc/security/limits.conf</code>,追加四行(*号不可省略):<br></p><pre class="brush:php;toolbar:false;">* soft nofile 65536<br> * hard nofile 65536<br> * soft nproc 65536<br> * hard nproc 65536
执行 ulimit -n 65536 临时生效;【不可逆操作】必须重启系统才能使 limits.conf 持久生效,否则BE进程启动时因句柄不足直接退出。
增大虚拟内存映射上限:echo "vm.max_map_count=2000000" >> /etc/sysctl.conf → sysctl -p → 验证输出为 vm.max_map_count = 2000000。
永久关闭Swap:sed -i '/swap/s/^/#/' /etc/fstab → swapoff -a → free -m 确认Swap行全为0。Doris对磁盘交换极度敏感,残留Swap会导致查询延迟毛刺超500ms。
下载解压并初始化Doris单机实例
访问 Apache Doris官网下载页,选择:
Version: 4.0.2(或最新稳定版)→ Architecture: aarch64 (no avx2) → Tarball: Binary。
在服务器执行:cd /opt && wget [复制的ARM版下载链接] && tar -zxvf apache-doris-4.0.2-bin-aarch64.tar.gz → 重命名为 doris → 进入目录。
配置FE网络地址:编辑 conf/fe.conf,取消注释并修改 priority_networks 行,填入本机实际IP网段,例如:priority_networks=192.168.10.0/24。不设此项会导致FE监听0.0.0.0:8030但无法被MySQL客户端识别。
首次启动FE:./bin/start_fe.sh --daemon → 等待30秒 → 查看日志 cat log/fe.log | grep "started successfully",出现即代表FE就绪。
连接与验证数据库可用性
使用MySQL客户端连接:mysql -h 127.0.0.1 -P 9030 -u root(默认无密码)。若提示“Can't connect”,检查FE进程是否存活(ps aux | grep FeServer)及防火墙是否放行9030端口。
创建兼容单机模式的数据库:CREATE DATABASE test_db PROPERTIES("replication_num"="1");。Doris默认副本数为3,单节点必须显式设为1,否则建库报错“Not enough backends with sufficient storage capacity”。
切换数据库并建表验证:USE test_db; → CREATE TABLE t1(c1 INT, c2 STRING) ENGINE=OLAP DISTRIBUTED BY HASH(c1) PROPERTIES("replication_num"="1"); → 插入测试数据:INSERT INTO t1 VALUES(1, "hello"); → 查询确认:SELECT * FROM t1;。











