银河麒麟系统部署clickhouse失败时,应按cpu架构匹配选择apt仓库、rpm离线、tgz手动或docker四种方法:一、apt适用于桌面版;二、rpm推荐服务器版;三、tgz适合arm64定制化部署;四、docker用于多版本测试。

如果您在银河麒麟操作系统上尝试部署ClickHouse列式数据库,但安装失败或服务无法启动,则可能是由于CPU架构不匹配、依赖缺失、软件源配置错误或安装包顺序不当所致。以下是针对银河麒麟V10(含x86_64与aarch64架构)的多种可行部署方法:
一、基于APT仓库的安装(适用于银河麒麟V10桌面版/Ubuntu系内核版本)
该方法利用适配Ubuntu LTS基础的APT源自动解析依赖并完成初始化,适合开发测试及快速验证场景,要求系统已启用兼容Debian系的软件源。
1、更新软件包索引:sudo apt update
2、安装基础工具以支持密钥管理:sudo apt install -y apt-transport-https ca-certificates dirmngr
3、导入ClickHouse官方GPG密钥:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4
4、确认系统代号:lsb_release -cs(输出如focal、jammy或kylin-v10对应代号)
5、添加ClickHouse APT源(以focal为例):echo "deb https://repo.clickhouse.com/deb/stable/main/ focal main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
6、再次更新索引:sudo apt update
7、安装服务端与客户端:sudo apt install -y clickhouse-server clickhouse-client
8、启动并启用服务:sudo service clickhouse-server start && sudo systemctl enable clickhouse-server
二、基于RPM包的离线安装(推荐用于银河麒麟V10服务器版/x86_64或aarch64)
该方法绕过网络依赖,通过预下载适配麒麟V10 CPU架构的RPM包完成安装,可避免因架构错配导致的“错误的ELF格式”报错,适用于内网隔离环境。
1、确认系统架构:执行uname -m命令,输出必须为x86_64或aarch64,据此选择对应架构的RPM包
2、创建安装目录并进入:mkdir -p /software/clickhouse && cd /software/clickhouse
3、下载四类RPM包(以21.1.9.41版本为例):需获取clickhouse-common-static、clickhouse-server-common、clickhouse-server、clickhouse-client四个RPM文件,确保全部为同一版本且架构一致
4、按依赖顺序安装:依次执行以下命令:
rpm -ivh clickhouse-common-static-21.1.9.41-1.el7.x86_64.rpm
rpm -ivh clickhouse-server-common-21.1.9.41-1.el7.x86_64.rpm
rpm -ivh clickhouse-server-21.1.9.41-1.el7.x86_64.rpm
rpm -ivh clickhouse-client-21.1.9.41-1.el7.x86_64.rpm
5、初始化配置:安装完成后,/etc/clickhouse-server/config.xml和/etc/clickhouse-server/users.xml已自动生成,可按需修改监听地址与用户权限
三、基于TGZ压缩包的手动安装(适用于定制化路径与ARM64离线部署)
该方法直接解压二进制文件并注册为systemd服务,便于控制安装路径、运行用户及库加载路径,特别适合飞腾、鲲鹏等ARM64平台或对目录结构有严格审计要求的生产环境。
1、下载对应架构的TGZ包:从https://packages.clickhouse.com/tgz/stable/获取clickhouse-common-static、clickhouse-server、clickhouse-client三个压缩包(无需dbg包)
2、解压核心组件:tar -zxvf clickhouse-common-static-21.1.9.41.tgz && tar -zxvf clickhouse-server-21.1.9.41.tgz && tar -zxvf clickhouse-client-21.1.9.41.tgz
3、创建标准目录结构:sudo mkdir -p /usr/bin /etc/clickhouse-server /var/lib/clickhouse /var/log/clickhouse-server
4、复制二进制文件:sudo cp -f clickhouse-common-static/usr/bin/clickhouse /usr/bin/ && sudo cp -f clickhouse-server/usr/bin/clickhouse /usr/bin/ && sudo cp -f clickhouse-client/usr/bin/clickhouse /usr/bin/
5、复制默认配置:sudo cp -r clickhouse-server/etc/clickhouse-server/* /etc/clickhouse-server/
6、设置运行用户与权限:sudo useradd -r -s /bin/false clickhouse && sudo chown -R clickhouse:clickhouse /var/lib/clickhouse /var/log/clickhouse-server /etc/clickhouse-server
7、注册systemd服务:将官方提供的clickhouse-server.service模板保存至/etc/systemd/system/clickhouse-server.service,并执行sudo systemctl daemon-reload
四、基于Docker容器的安装(适用于开发测试与多版本共存场景)
该方法不依赖宿主机系统环境与glibc版本,通过标准化镜像快速启动ClickHouse实例,支持版本隔离、资源限制与快速销毁重建,适合CI/CD及沙箱验证。
1、确认Docker已安装并运行:sudo systemctl status docker
2、拉取适配麒麟OS内核的官方镜像:sudo docker pull clickhouse/clickhouse-server:21.1.9.41
3、创建持久化数据目录:sudo mkdir -p /opt/clickhouse/data /opt/clickhouse/logs
4、运行容器并映射关键路径:sudo docker run -d --name clickhouse-server -p 8123:8123 -p 9000:9000 -p 9009:9009 -v /opt/clickhouse/data:/var/lib/clickhouse -v /opt/clickhouse/logs:/var/log/clickhouse-server -e CLICKHOUSE_USER=default -e CLICKHOUSE_PASSWORD=123456 --ulimit nofile=262144:262144 --restart=always clickhouse/clickhouse-server:21.1.9.41
5、验证容器状态:sudo docker ps | grep clickhouse-server
6、进入容器执行初始连接测试:sudo docker exec -it clickhouse-server clickhouse-client -u default --password 123456 --query="SELECT version()"











