麒麟V10系统下Docker+MySQL+ClickHouse全家桶安装避坑指南(附详细卸载步骤)

麒麟V10系统下Docker+MySQL+ClickHouse全家桶安装避坑指南(附详细卸载步骤)

在国产化替代浪潮中,麒麟操作系统凭借其安全可靠的特性,正逐步成为企业级应用的新选择。作为系统管理员或运维工程师,掌握麒麟V10环境下主流服务的部署与维护技能至关重要。本文将深入解析Docker、MySQL和ClickHouse三大服务在麒麟V10系统上的完整生命周期管理,从架构选择到服务清理,提供一站式解决方案。

不同于常规安装教程,本指南特别针对国产系统环境下的特殊适配问题,如ARM与x86架构的兼容性处理、rpm依赖冲突的预防策略,以及服务彻底卸载时的残留文件清理技巧。无论您是初次接触麒麟系统,还是需要优化现有环境,都能从中获得实用价值。

1. 环境准备与系统检查

在开始安装前,充分的准备工作能避免80%的后续问题。首先需要确认系统基础信息:

# 查看系统版本 cat /etc/os-release # 确认CPU架构(关键步骤) uname -p

麒麟V10支持x86_64和aarch64两种主流架构,这将直接影响后续软件包的选择。常见架构判断结果:

  • x86_64:传统PC服务器架构
  • aarch64:国产飞腾等ARM架构处理器

注意:混合架构安装是导致服务启动失败的最常见原因,务必严格匹配。

对于生产环境,建议先更新系统基础组件:

# 更新系统仓库 yum makecache # 升级现有软件包 yum update -y # 安装基础开发工具链 yum groupinstall "Development Tools" -y

2. Docker引擎的深度部署与清理

2.1 架构适配安装方案

Docker在麒麟系统上的安装需要特别注意版本兼容性。推荐使用静态二进制包方式,避免依赖问题:

x86架构安装流程

  1. 下载官方静态包(示例版本19.03.0):
    wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.0.tgz
  2. 解压并部署到系统路径:
    tar -zxvf docker-19.03.0.tgz cp -p docker/* /usr/bin/
  3. 配置systemd管理(关键步骤):
    cp docker.service /usr/lib/systemd/system/ systemctl daemon-reload

ARM架构特殊处理

  • 需从专用仓库获取aarch64版本
  • 修改service文件中的环境变量:
    [Service] Environment="DOCKER_ARM_COMPAT=1"

2.2 常见故障排除表

故障现象可能原因解决方案
启动时报GLIBC版本错误系统库不兼容使用更低版本Docker或升级系统
容器网络不可用iptables规则冲突执行systemctl restart iptables
存储驱动报错文件系统不支持修改为overlay2驱动

2.3 彻底卸载操作指南

常规卸载后常有残留导致重装失败,完整清理步骤:

# 停止所有容器服务 docker kill $(docker ps -q) # 深度清理指令 find / -name "*docker*" -exec rm -rf {} + rm -rf /var/lib/docker rm -rf /etc/docker

重要:执行后需重启系统再尝试新安装,确保内核模块完全卸载。

3. MySQL数据库定制化安装

3.1 版本选择策略

麒麟V10对MySQL各版本支持度差异明显,经实测推荐矩阵:

版本稳定性性能表现兼容性
5.7.22★★★★★★★★★★★★★★
8.0.23★★★★★★★★★★★

3.2 关键配置优化

修改/etc/my.cnf适配国产硬件:

[mysqld] # 针对飞腾处理器优化 innodb_flush_neighbors=0 innodb_io_capacity=200 # 解决麒麟系统内存管理特性 performance_schema=OFF

初始化数据库时的特殊参数:

mysqld --initialize --user=mysql \ --explicit_defaults_for_timestamp=1 \ --loose-skip-ssl

3.3 完全卸载检查清单

  1. 服务停止确认:
    systemctl is-active mysqld
  2. 包依赖清理:
    rpm -qa | grep -E 'mysql|mariadb' | xargs rpm -e --nodeps
  3. 配置文件追溯:
    find / -name "*mysql*" -type f -delete

4. ClickHouse高性能部署方案

4.1 版本适配建议

ClickHouse官方对ARM架构的支持从21.8版本开始完善,建议版本选择:

  • x86环境:23.12 LTS
  • ARM环境:22.8+

4.2 关键配置调整

修改/etc/clickhouse-server/config.xml

<!-- 针对国产CPU优化 --> <max_thread_pool_size>32</max_thread_pool_size> <use_uncompressed_cache>0</use_uncompressed_cache> <!-- 解决麒麟系统内存分配问题 --> <max_server_memory_usage_to_ram_ratio>0.6</max_server_memory_usage_to_ram_ratio>

4.3 性能调优参数对照表

参数项默认值推荐值适用场景
max_memory_usage10GB物理内存70%大数据量查询
max_concurrent_queries10050高并发环境
background_pool_size168ARM架构主机

4.4 完整卸载流程

# 停止服务 clickhouse-client --query "SYSTEM SHUTDOWN" # 包级清理 yum remove -y clickhouse* # 数据痕迹清理 rm -rf /var/lib/clickhouse find / -name "*clickhouse*" -exec rm -rf {} +

5. 组合环境联动配置

三大服务协同工作时需要特别注意:

  1. 网络拓扑规划

    • Docker容器网络模式建议采用host
    • ClickHouse的8123端口需加入防火墙白名单
  2. 资源分配原则

    # 限制Docker总资源使用 dockerd --default-ulimit nofile=1024:1024
  3. 统一监控方案

    # 麒麟系统专用监控脚本 watch -n 5 "docker stats --no-stream; mysqladmin -uroot -p ext; clickhouse-client --query 'SHOW PROCESSLIST'"

在实际部署中遇到最多的问题是内存竞争,建议采用cgroups进行隔离:

# 创建控制组 cgcreate -g memory:/db_services # 限制总内存使用 echo "8G" > /sys/fs/cgroup/memory/db_services/memory.limit_in_bytes