Docker 简单部署 ClickHouse 超详细图文步骤

1、引言

1.1、ClickHouse 简介

ClickHouse 是一款 ** 开源、列式存储、面向 OLAP(在线分析处理)** 的高性能数据库管理系统,由俄罗斯 Yandex 公司于 2016 年正式开源,现由 ClickHouse Inc. 主导开发与维护,采用 Apache 2.0 许可证。它最初为 Yandex.Metrica 网络分析服务设计,核心目标是解决海量数据(PB 级)下实时多维分析的性能瓶颈,目前已广泛应用于数据分析、数据仓库、日志监控、可观测性与 AI 相关场景。

从核心技术来看,ClickHouse 基于MPP(大规模并行处理)架构,数据按列物理存储,配合高压缩算法(LZ4/ZSTD)大幅减少磁盘 I/O 与存储空间;执行查询时采用矢量化执行 + SIMD 指令优化,以数据块(Block)为单位批量计算,充分压榨 CPU 算力,实现亿级数据聚合查询亚秒级响应。它高度兼容标准 SQL,支持 GROUP BY、JOIN、窗口函数等常用语法,学习成本低,同时提供异步多主复制、数据一致性保障与基于角色的权限控制,适合大规模集群部署。

凭借极致的查询性能、优秀的扩展性与低成本存储优势,ClickHouse 已成为全球最流行的实时分析数据库之一,在 DB-Engines 列式数据库分类中长期位居前列,被字节、阿里、腾讯等众多企业采用,支撑各类高并发、低延迟的海量数据分析需求。

1.2、Docker 环境

CentOS7 安装 Docker

1.3、Docker 镜像国内加速

渡渡鸟镜像同步站

2、ClickHouse 安装

2.1、创建 bridge 网络并指定 IP 区间

bash 复制代码
# 创建自定义网络
docker network create --driver bridge --subnet 172.0.0.0/16 woniu_network
 
# 查看已存在网络
docker network ls

2.2、创建数据和配置存放目录

bash 复制代码
# 创建 ClickHouse 数据目录
mkdir -p /home/docker/clickhouse && chmod 777 /home/docker/clickhouse

2.3、下载国内镜像

从渡渡鸟镜像同步站下载国内 ClickHouse 国内镜像

bash 复制代码
# 镜像下载地址
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/clickhouse:25.2.2

# 镜像重新命名
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/clickhouse:25.2.2  docker.io/library/clickhouse:25.2.2

# 镜像重新命名后可以选择删除,根据自己喜好执行
docker rmi swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/clickhouse:25.2.2

2.4、安装并运行 ClickHouse

bash 复制代码
# 启动 ClickHouse
docker run -d \
  --name clickhouse \
  --ulimit nofile=262144:262144 \
  -p 8123:8123 \
  -p 9000:9000 \
  -e CLICKHOUSE_USER=csdn \
  -e CLICKHOUSE_PASSWORD=123456 \
  --restart always \
  docker.io/library/clickhouse:25.2.2

# 在容器 ClickHouse 中开启一个交互模式的终端
docker exec -it clickhouse /bin/bash

2.5、复制 ClickHouse 相关文件

bash 复制代码
# 复制 ClickHouse 数据文件到指定目录
docker cp -a clickhouse:/var/lib/clickhouse/ /home/docker/

# 删除 ClickHouse 容器
docker rm -f clickhouse

2.6、自定义启动 ClickHouse

bash 复制代码
docker run -d \
  --name clickhouse \
  --network woniu_network \
	--ip 172.0.0.90 \
  --ulimit nofile=262144:262144 \
  -p 8123:8123 \
  -p 9000:9000 \
  -e CLICKHOUSE_USER=csdn \
  -e CLICKHOUSE_PASSWORD=123456 \
  -v /home/docker/clickhouse:/var/lib/clickhouse \
  --restart always \
  docker.io/library/clickhouse:25.2.2

3、Tabix 安装

3.1、下载国内镜像

从渡渡鸟镜像同步站下载国内 ClickHouse 国内镜像

bash 复制代码
# 镜像下载地址
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/spoonest/clickhouse-tabix-web-client:latest

# 镜像重新命名
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/spoonest/clickhouse-tabix-web-client:latest  docker.io/spoonest/clickhouse-tabix-web-client:latest

# 镜像重新命名后可以选择删除,根据自己喜好执行
docker rmi swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/spoonest/clickhouse-tabix-web-client:latest

3.2、安装并运行 Tabix

bash 复制代码
# 启动 Tabix
docker run -d \
  --name tabix \
  --network woniu_network \
  --ip 172.0.0.80 \
  -p 8080:80 \
  --restart always \
  docker.io/spoonest/clickhouse-tabix-web-client:latest

# 在容器 tabix 中开启一个交互模式的终端
docker exec -it tabix /bin/bash

# 删除 ClickHouse 容器
docker rm -f tabix

本文教程到此结束,祝愿小伙伴们在编程之旅中能够愉快地探索、学习、成长!

相关推荐
I'mChloe5 小时前
Windows部署BiliNote:Docker安装、AI视频转写、Markdown笔记与cpolar远程访问
人工智能·windows·docker
打工仔折腾 AI7 小时前
飞牛OS上用Docker Compose部署ExerciseDiary运动记录并配置远程访问
运维·人工智能·后端·python·docker·容器·ai agent 实战
天衍四九-7 小时前
Docker Compose企业实战系列(八·终章):多环境隔离实战,开发/测试/生产一键切换
运维·docker·容器
shjita8 小时前
centos中安装docker
linux·docker·centos
ysu_03149 小时前
Docker-Desktop-WSL2实战指南-Windows从安装配置到项目容器化
windows·python·docker·容器·composer·dockerfile·wsl2
天衍四九-9 小时前
Docker Compose企业实战系列(三):Vue/React前端项目容器化完整部署
前端·vue.js·docker
陈陈CHENCHEN10 小时前
【Kubernetes】纯 IPv6 K8s 集群访问外部 IPv4 服务
云原生·容器·kubernetes
明王明王10 小时前
从零搭建一个 AI Infra 实验室⑫:Docker 为什么默认看不到 GPU
人工智能·docker·容器
天衍四九-10 小时前
Docker Compose企业实战系列(四):Redis生产级部署|密码加固、持久化、内存优化完整方案
redis·docker·容器
troy12810 小时前
如何在谷歌云(Google Cloud)上部署 Kubernetes 集群
云原生·容器·kubernetes