麒麟系统V10实战:Docker、MySQL与ClickHouse一站式部署指南
1. 麒麟系统V10环境准备在国产化替代项目中麒麟操作系统V10凭借其出色的稳定性和安全性成为首选。我最近在一个金融数据分析项目中就采用了这个组合方案实测下来整套环境搭建耗时不到2小时。先带大家确认基础环境# 查看系统版本 cat /etc/os-release # 确认CPU架构 uname -p # 检查内核版本 uname -r常见架构有两种情况x86_64架构主流PC服务器aarch64架构华为鲲鹏等ARM服务器最近遇到个坑某客户现场使用龙芯LoongArch架构需要特别注意软件包兼容性。建议提前准备对应架构的安装包我整理了几个常用资源站官方镜像仓库/NS/V10/V10SP1/os/adv/lic/base/社区维护源https://repo.kylinos.cn2. Docker部署实战2.1 离线安装Docker引擎在政务网等隔离环境中离线安装是刚需。这里分享我的离线包组合方案# 解压docker二进制包 tar -zxvf docker-19.03.0.tgz # 部署到系统路径 cp -p docker/* /usr/bin/ # 配置systemd服务 cp docker.service /usr/lib/systemd/system/ chmod x /usr/lib/systemd/system/docker.service遇到过最头疼的问题是selinux冲突解决方法setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config2.2 Docker-Compose配置技巧把docker-compose文件放在/usr/local/bin时记得做两件事重命名去除架构后缀赋予可执行权限mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose chmod 777 /usr/local/bin/docker-compose最近发现个实用技巧用alias简化命令echo alias dcdocker-compose ~/.bashrc source ~/.bashrc3. MySQL数据库部署3.1 RPM包安装避坑指南MySQL 5.7在麒麟系统上安装要注意依赖顺序common → libs → libs-compat → client → server必须用rpm -ivh按序安装常见报错解决方案# 解决libaio依赖 yum install -y libaio # 解决numactl冲突 rpm -e --nodeps numactl-libs3.2 安全加固实操建议修改的配置项[mysqld] default_authentication_pluginmysql_native_password validate_password_policySTRONG初始化密码后立即执行ALTER USER rootlocalhost IDENTIFIED BY 新密码; UPDATE mysql.user SET host% WHERE userroot; FLUSH PRIVILEGES;4. ClickHouse高效部署4.1 多版本安装策略推荐使用官网repo安装最新稳定版yum install -y yum-utils yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo对于离线环境可以这样下载rpm包yum install --downloadonly --downloaddir/opt/clickhouse \ clickhouse-server clickhouse-client4.2 关键配置优化修改/etc/clickhouse-server/config.xml取消listen_host注释调整内存限制设置时区为Asia/Shanghai性能调优参数max_memory_usage10000000000/max_memory_usage max_concurrent_queries100/max_concurrent_queries5. 联合使用实战案例用docker-compose编排三件套version: 3 services: mysql: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: 123456 clickhouse: image: clickhouse/clickhouse-server ports: - 8123:8123数据同步方案推荐使用MaterializedMySQL引擎通过Altinity工具包同步自研ETL管道在最近某银行项目中我们采用方案1实现实时同步TPS达到2万/秒。关键配置CREATE DATABASE mysql_db ENGINE MaterializedMySQL(...) SETTINGS max_replication_lag106. 常见问题排查Docker报错iptables失败解决方法yum install -y iptables-services systemctl start iptablesMySQL启动失败检查步骤查看/var/log/mysqld.log确认磁盘空间检查selinux状态ClickHouse连接超时排查要点netstat -tulnp | grep clickhouse检查防火墙规则验证密码加密方式记得有次部署遇到奇葩问题系统时间不同步导致认证失败。现在我的部署清单里必定包含yum install -y ntpdate ntpdate ntp.aliyun.com7. 性能监控方案推荐安装以下组件Prometheus Grafana监控套件自定义指标采集脚本慢查询日志分析工具配置示例!-- ClickHouse配置 -- log_queries1/log_queries query_log databasesystem/database tablequery_log/table /query_logMySQL监控关键SQLSHOW GLOBAL STATUS LIKE Threads_connected; SHOW ENGINE INNODB STATUS;这套监控体系在我们生产环境每天处理10亿数据点时CPU开销不到5%。