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 环境
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
