统信UOS ARM平台实战:基于Docker-compose的StarRocks 2.5.14一站式部署指南

发布时间:2026/6/28 15:08:37

统信UOS ARM平台实战:基于Docker-compose的StarRocks 2.5.14一站式部署指南 1. 环境准备与系统检查在开始部署StarRocks之前我们需要确保统信UOS ARM平台的基础环境已经就绪。首先通过以下命令检查系统信息cat /etc/os-release uname -m如果输出显示UnionTech OS Server 20和aarch64说明你正在使用ARM架构的统信UOS系统。我遇到过一些用户误将x86的安装包用在ARM平台结果当然无法运行。这里特别提醒统信UOS的ARM版本与x86版本软件包不兼容。对于离线环境建议提前下载好以下资源包Docker 28.0.1 ARM64版本docker-compose ARM64版本StarRocks 2.5.14 ARM64镜像实测发现统信UOS的默认防火墙规则可能会影响Docker运行。可以先检查防火墙状态systemctl status firewalld如果防火墙处于活跃状态建议临时关闭或配置放行规则systemctl stop firewalld systemctl disable firewalld2. Docker离线安装详解在无法连接外网的环境下安装Docker需要特别注意依赖关系。我踩过的坑是直接安装二进制包却忘了处理依赖项。正确的做法是从阿里云镜像站下载docker-28.0.1.tgz解压后复制到系统路径tar xf docker-28.0.1.tgz cp docker/* /usr/bin/创建systemd服务文件时建议添加国内镜像加速器。这是我的/etc/docker/daemon.json配置{ registry-mirrors: [ https://docker.m.daocloud.io, https://mirror.ccs.tencentyun.com ], insecure-registries: [127.0.0.1] }启动Docker后务必验证安装是否成功systemctl start docker docker run --rm hello-world如果看到Hello from Docker!的输出说明基础环境已经就绪。这里有个小技巧在离线环境中可以先用能联网的机器拉取hello-world镜像然后导出再导入到目标服务器。3. Docker-compose安装与配置ARM架构下的docker-compose安装需要特别注意版本兼容性。我推荐使用v2.28.1版本这个版本在统信UOS上运行最稳定。安装步骤mv docker-compose-linux-aarch64 /usr/local/bin/docker-compose chmod x /usr/local/bin/docker-compose验证安装docker-compose version输出应显示Docker Compose version v2.28.1。如果遇到权限问题可以尝试ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose4. StarRocks镜像获取与处理由于StarRocks官方提供的ARM镜像名称与x86版本相同容易造成混淆。正确的做法是docker pull starrocks/allin1-ubuntu:2.5.14sha256:1844ad93cec87907ea1652e98a0c122788f8bf14348c5ca646a82d5a1652c1b3 docker tag ea513337bad4 starrocks/allin1-ubuntu-arm64:2.5.14对于离线环境镜像导出导入是关键步骤。建议使用以下命令docker save -o allin1-ubuntu-arm64.tar starrocks/allin1-ubuntu-arm64:2.5.14 docker load -i allin1-ubuntu-arm64.tar这里有个实用技巧在导出镜像前先运行docker image inspect检查镜像架构docker image inspect starrocks/allin1-ubuntu-arm64:2.5.14 | grep Architecture确认输出为aarch64才能保证兼容性。5. Docker-compose部署实战这是我优化过的docker-compose.yml配置增加了数据持久化和性能调优参数version: 2.33 services: starrocks: image: starrocks/allin1-ubuntu-arm64:2.5.14 container_name: starrocks restart: unless-stopped ports: - 8030:8030 # FE http端口 - 9020:8040 # BE webserver端口 - 9030:9030 # MySQL协议端口 volumes: - /data/starrocks/fe/data:/data/deploy/starrocks/fe/data - /data/starrocks/fe/meta:/data/deploy/starrocks/fe/meta - /data/starrocks/be/data:/data/deploy/starrocks/be/data - /data/starrocks/be/storage:/data/deploy/starrocks/be/storage environment: MYSQL_PWD: your_secure_password STARROCKS_ENABLE_LICENSE_ACTIVATION: true ulimits: nofile: soft: 65536 hard: 65536 deploy: resources: limits: cpus: 4 memory: 8G启动命令建议加上日志输出方便排查问题docker-compose -f docker-compose.yml up -d docker-compose logs -f6. 验证与初始化配置部署完成后可以通过以下方式验证服务状态docker ps -a docker exec -it starrocks bash ps aux | grep starrocks连接StarRocks并设置root密码mysql -P 9030 -h 127.0.0.1 -u root SET PASSWORD PASSWORD(your_new_password);我建议在初始化后立即创建新用户并限制root远程登录CREATE USER admin% IDENTIFIED BY complex_password; GRANT ALL PRIVILEGES ON *.* TO admin%; ALTER USER root% IDENTIFIED BY very_strong_password;7. 常见问题排查在ARM平台上部署时可能会遇到以下典型问题端口冲突检查8030、9030等端口是否被占用netstat -tulnp | grep -E 8030|9030存储权限问题确保挂载目录有正确权限chown -R 1000:1000 /data/starrocks内存不足StarRocks BE节点至少需要4GB内存free -h时区不一致建议容器与主机使用相同时区environment: TZ: Asia/Shanghai性能调优对于生产环境建议调整BE配置docker exec -it starrocks bash vi /data/deploy/starrocks/be/conf/be.conf8. 生产环境优化建议经过多次部署实践我总结出以下优化经验数据持久化一定要配置volume映射否则容器重启后数据会丢失资源限制根据服务器配置合理分配CPU和内存资源deploy: resources: limits: cpus: 8 memory: 16G日志收集建议将日志输出到外部系统logging: driver: json-file options: max-size: 100m max-file: 3监控配置启用Prometheus监控environment: STARROCKS_ENABLE_METRICS: true STARROCKS_METRICS_PORT: 8040备份策略定期备份元数据目录tar czf fe_meta_backup_$(date %Y%m%d).tar.gz /data/starrocks/fe/meta在统信UOS ARM平台上我还发现一个性能优化点调整内核参数可以显著提升查询性能echo vm.swappiness 1 /etc/sysctl.conf echo vm.overcommit_memory 1 /etc/sysctl.conf sysctl -p

相关新闻