# 工具部署Clickhouse

工具类型: shell 脚本

文档更新: 2025-02-22 16:43:06

适用场景: 非云化产品的的私有化部署(自建环境)

# 免责申明和使用须知

  • 1.工具定位声明

    • 本工具为 辅助部署工具,旨在帮助快速搭建云原生环境所依赖的中间件(包含并不仅限于Kubernetes、Nacos、Kafka等),便于项目组快速部署微服务应用。
    • 不承诺提供中间件的长期完整维护、支持或安全保障。
  • 2.开源组件免责声明

    • 本工具使用的 Kubernetes、etcd、calico、Nacos、Kafka等组件均为开源软件,受各自开源许可证保护。
    • 本工具 不修改、不篡改 任何开源组件,仅作为安装和部署的辅助工具。
    • 使用本工具即表示您已阅读并同意相关开源组件的 使用许可协议。
  • 3.安全与责任声明

    • 本工具 不承担 因使用过程中出现的安全问题、系统崩溃、数据丢失等后果的责任。
    • 建议用户自行评估部署环境的安全性,并根据自身需求选择合适的版本和配置。
  • 4.不提供长期维护

    • 本工具仅为临时部署工具,不承诺对中间件进行持续更新、补丁修复、安全处置和兼容性支持。
    • 用户应自行关注官方更新,并根据实际需要决定是否升级或更换工具。
  • 5.商业使用提醒

    • 若您将本工具用于 商业环境,请确保所有使用组件符合其 开源许可证,并遵守相关法律法规。
    • 本工具不提供任何形式的商业支持或担保。
  • 6.用户自主决策

    • 本工具仅供参考和学习使用,最终部署方案由用户自行决定。
    • 在使用前,请确保您具备足够的技术能力,并了解Kubernetes、Nacos、Kafka等等云原生组件的运行机制和配置方法。

# 相关下载

安装工具: https://pan.baidu.com/s/1cNEjJ-d3sHRWAUHg3AK_ww?pwd=2024

** 遇到部分 arm64 的 CPU 特性不兼容 导致部署失败 可尝试使用 22.8.21.38 (LTS)或 22.12.6.22 的 tgz 版本 **

# 工具部署步骤

# 环境准备要求

Clickhouse工具部署原理是:[Linux运维机(最普通配置)] ---SSH远程部署---> [Clickhouse单机/Clickhouse集群]

故,如果是多台机器部署中间件,需要指定一台机器作为运维机,并且能SSH远程到别的服务器进行部署。 如果是单机部署,也可以直接把当前服务器当作运维机,自己SSH自己。

# 准备部署包

确定工具和部署包后,将其上传到运维机上任意目录,比如 /seeyon/scripts/clickhouse

全量包包含了Clickhouse程序和工具脚本,根据Clickhouse最终部署的服务器选择使用哪个全量包:

  • multi-install-clickhouse-amd64.tgz : Clickhouse最终服务器全部是X86架构则选择此包
  • multi-install-clickhouse-arm64.tgz : Clickhouse最终服务器全部是ARM架构则选择此包
  • multi-install-clickhouse-full.tgz : Clickhouse(集群场景)最终服务器一部分X86、一部分ARM则选择此包
  • 犹豫不决,就选择multi-install-clickhouse-full.tgz万精油包

上传后解压全量包:

tar -xf multi-install-clickhouse-full.tgz

1756222197543.png

# 运维机配置工具参数

在上一步运维机解压全量包目录,配置工具参数:

vim multi-install-clickhouse.sh

默认配置也可以安装,如果部署的目录、部署集群则需要精细化调整,详细参数可通过云盘安装工具里面的视频学习。

  • instRootDir没法修改,ClickHouse自己就决定了只安装在根目录下
  • chTcpPort="9000" # 原生 TCP 协议端口(默认 9000),注意这个端口与minio的9000冲突,不要与minio部署在一起,或者按需调整

# 运维机配置SSH参数

同样在运维机解压全量包目录,执行运维机SSH远程ClickHouse服务器的参数,即配置将ClickHouse部署在哪一台(或几台)服务器:

vim cfg/native/clickhouse.hosts

注意:

  • 单机就配置一条参数,其余注释
  • 集群按照3、5、7单数标准准备服务器
  • SSH的用户必须是root,其余普通用户没有权限部署

1756222891125.png

# 运维机执行工具安装

1、在运维机解压全量包目录,执行 bash multi-install-clickhouse.sh 不带任何命令,能看到工具的特性、使用方法及常用命令信息,如提示命令缺失就按引导提前安装所需命令:

1756222985306.png

2、使用如下命令执行ClickHouse安装:

bash multi-install-clickhouse.sh i

如遇安装依赖失败,尝试从logs/script.log中找下问题原因,如果镜像不通,可通过测试可达性解决网络问题后再继续。

1756223371942.png

如遇到异常,注意根据日志分析异常原因,并修复问题:

1756224478623.png

1756224549520.png

# 5个节点集群部署截图

1757516402253.png

# 日常运维

修改配置文件:

# 在修改前,建议先备份配置文件:
sudo cp /etc/clickhouse-server/config.xml /etc/clickhouse-server/config.xml.bak
# 首次编辑 config.xml 时,该文件可能默认没有写权限。你需要先赋予写入权限
sudo chmod u+w /etc/clickhouse-server/config.xml
# 修改配置文件
vim /etc/clickhouse-server/config.xml

ClickHouse服务启停:

systemctl start clickhouse-server
systemctl stop clickhouse-server
systemctl status clickhouse-server
编撰人:yangfc、het