当前位置: 首页 > news >正文

CentOS 7.9 保姆级教程:从零到一搞定ClickHouse离线RPM包安装与配置

CentOS 7.9 离线部署ClickHouse全流程实战指南

在企业级生产环境中,离线部署数据库系统是许多运维团队面临的常见挑战。本文将手把手带你完成CentOS 7.9系统下ClickHouse的离线安装与配置全过程,特别针对没有外网连接的安全隔离环境。

1. 离线部署前的准备工作

离线部署的核心在于完整的依赖闭环。我们需要在外网环境中预先准备好所有安装包和依赖项,形成一个自包含的部署包。以下是关键准备步骤:

  1. 基础环境确认

    • 操作系统:CentOS 7.9 Minimal安装
    • 磁盘空间:至少预留10GB可用空间
    • 内存:建议8GB以上(OLAP系统内存敏感)
  2. 外网环境资源下载

    # 创建下载目录 mkdir -p ~/clickhouse-offline && cd ~/clickhouse-offline # 下载ClickHouse官方RPM包(以20.5.4.40版本为例) wget https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-client-20.5.4.40-1.el7.x86_64.rpm wget https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-server-20.5.4.40-1.el7.x86_64.rpm wget https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-common-static-20.5.4.40-1.el7.x86_64.rpm wget https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-server-common-20.5.4.40-1.el7.x86_64.rpm
  3. 依赖项收集

    # 使用yum-downloadonly插件获取所有依赖 yum install -y yum-plugin-downloadonly mkdir -p ~/clickhouse-offline/dependencies # 获取unixODBC等关键依赖 yum install --downloadonly --downloaddir=~/clickhouse-offline/dependencies unixODBC

提示:建议使用相同版本的CentOS系统进行依赖收集,避免兼容性问题。

2. 制作离线安装介质

将准备好的资源打包成可移植的安装介质是离线部署的关键环节。我们采用以下结构组织文件:

clickhouse-offline-bundle/ ├── packages/ # 主程序RPM包 │ ├── clickhouse-*.rpm ├── dependencies/ # 系统依赖项 │ ├── unixODBC-*.rpm ├── scripts/ # 部署脚本 │ ├── preinstall.sh │ ├── postinstall.sh └── README.md # 部署说明

关键脚本示例(preinstall.sh):

#!/bin/bash # 关闭SELinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0 # 设置文件描述符限制 echo "* soft nofile 65536" >> /etc/security/limits.conf echo "* hard nofile 65536" >> /etc/security/limits.conf

使用以下命令创建部署包:

tar -czvf clickhouse-offline-20.5.4.40.tar.gz clickhouse-offline-bundle

3. 离线环境安装实战

将部署包传输到目标服务器后,执行以下安装流程:

3.1 系统基础配置

  1. 安装依赖项

    cd /path/to/clickhouse-offline-bundle/dependencies rpm -ivh *.rpm --nodeps --force
  2. 验证依赖安装

    rpm -qa | grep -E 'unixODBC|libtool'

3.2 ClickHouse主程序安装

按照特定顺序安装RPM包:

cd /path/to/clickhouse-offline-bundle/packages rpm -ivh clickhouse-common-static-20.5.4.40-1.el7.x86_64.rpm rpm -ivh clickhouse-server-common-20.5.4.40-1.el7.x86_64.rpm rpm -ivh clickhouse-server-20.5.4.40-1.el7.x86_64.rpm rpm -ivh clickhouse-client-20.5.4.40-1.el7.x86_64.rpm

验证安装结果:

rpm -qa | grep clickhouse

3.3 配置文件调整

修改关键配置以适配生产环境:

vim /etc/clickhouse-server/config.xml

需要调整的主要参数:

参数项推荐值说明
<listen_host>0.0.0.0允许远程连接
<max_memory_usage>物理内存的70%防止OOM
<path>/data/clickhouse数据存储路径
<tmp_path>/data/clickhouse/tmp临时文件路径

4. 服务管理与故障排查

4.1 服务控制命令

# 启动服务 systemctl start clickhouse-server # 设置开机自启(可选) systemctl enable clickhouse-server # 检查服务状态 systemctl status clickhouse-server -l

4.2 常见问题解决方案

  1. 依赖缺失错误

    error: Failed dependencies: libodbc.so.2()(64bit) is needed by clickhouse-server-20.5.4.40-1.el7.x86_64

    解决方案:确保所有依赖包已正确安装,必要时使用--nodeps参数强制安装

  2. 端口冲突问题

    netstat -tulnp | grep 9000
  3. 内存不足警告: 在users.xml中调整内存限制:

    <max_memory_usage>8589934592</max_memory_usage> <!-- 8GB -->

5. 生产环境优化建议

  1. 目录结构规划

    mkdir -p /data/clickhouse/{data,metadata,logs,tmp} chown -R clickhouse:clickhouse /data/clickhouse
  2. 关键性能参数

    <!-- config.xml --> <background_pool_size>16</background_pool_size> <max_concurrent_queries>100</max_concurrent_queries>
  3. 监控配置

    # 启用Prometheus监控 <prometheus> <endpoint>/metrics</endpoint> <port>9363</port> </prometheus>

在实际部署中遇到过最棘手的问题是权限配置不当导致的数据目录访问失败,解决方案是在config.xml中明确指定<path><tmp_path>后,执行chown -R clickhouse:clickhouse /data/clickhouse确保服务账户有完整权限。

http://www.jsqmd.com/news/707886/

相关文章:

  • 终极免费屏幕标注神器ppInk:5分钟从新手到专家的完整指南
  • WeDLM-7B-Base作品分享:多轮科学文本续写保持术语准确率98.2%的实测结果
  • 上海钛恩科技服务富通天下:打造数字化私域平台,赋能中国外贸品牌出海! - 速递信息
  • 魔兽争霸III终极优化指南:WarcraftHelper完全配置教程
  • 从‘手动贴纸条’到‘智能编码’:用NVivo重构你的质性研究思维(附节点合并、编码带操作详解)
  • ARM汇编器核心功能与优化实践详解
  • Rust架构下的高性能小说下载器:Tomato-Novel-Downloader技术深度解析
  • 零基础快速上手:美胸-年美-造相Z-Turbo Gradio WebUI图文生成入门必看
  • SUSE Linux 11下用系统自带多路径连接华为OceanStor存储(iSCSI实战)
  • 给硬件工程师的DDR4引脚功能速查手册:从CK_t到ALERT_n,每个信号到底怎么用?
  • 深度解析ncmdumpGUI:专业级NCM文件解密与格式转换实战指南
  • 篮球场施工公司推荐:为什么材料好不等于场地好 - 长华体育
  • Revelation光影包:为Minecraft打造电影级物理渲染体验
  • 东莞装修必看!惠多多家居 —— 本地靠谱全屋定制源头工厂 - 资讯焦点
  • 抖音音频提取终极指南:3分钟掌握免费开源工具的批量下载技巧
  • 深圳悦呗科技信息客服服务富通天下:打造数字化私域平台,赋能中国外贸品牌出海! - 速递信息
  • 如何快速掌握RePKG:Wallpaper Engine资源处理的完整指南
  • OpenDexter:为AI智能体引入支付能力的MCP网关与x402协议实践
  • Voxtral-4B-TTS-2603开箱即用:镜像封装Web工具页+API双接口,零配置启动
  • OBS多平台直播终极指南:一键同步推流到各大平台的完整教程
  • 2026泊头通过式抛丸机企业排行:基于性能与服务的客观盘点 - 资讯焦点
  • 轻量级大语言模型本地部署框架Nanobot:从原理到实战部署指南
  • 移动端适配方案演进
  • 【遮天剧场版】《背棺战王腾》
  • 不良率直降94%:YXLON依科视朗工业CT FF20案例解析 - 速递信息
  • 13款最好用的降AIGC工具教授实测,降重鸟稳居第一 - 速递信息
  • Windows下Mamba安装踩坑实录:从Causal-Conv1d编译失败到源码修改的完整排错指南
  • 2026年3月市场评价高的玻璃棉板供应商推荐,憎水岩棉板/钢结构玻璃棉卷毡/电伴热,玻璃棉板源头厂家哪个好 - 品牌推荐师
  • Lean3数学库实战:从简单定理到复杂数学问题求解
  • 2026青岛抛丸机厂家实力排行:5家靠谱供应商实测对比 - 资讯焦点