零 导读
- 随着互联网技术的发展,海量数据已经成为公司决策分析的重要来源,ClickHouse有着大数据入门和低学习成本(支持SQL)的优势,故开启了第一篇环境搭建。希望能降低ClickHouse的入门门槛。
一 环境及工具
- Windows10专业版(64位):Windows其他版本可能会有其他问题,建议使用该环境。
- Docker Desktop:可以在Windows环境下运行docker的一款产品。
- DBeaver:支持ClickHouse数据库的一款数据库管理工具。
二 Windows 相关配置
1、启用虚拟化
- 打开任务管理器(CTRL+ALT+DELETE)-> 选择性能 -> CPU ->虚拟化,确认是否已启用。

2、启用Hyper-v
- 控制面板(Win+R -> 输入control -> 回车) -> 程序 -> 启用或关闭Windows功能 -> 勾选Hyper-v

三 Docker相关
1、下载
- https://www.docker.com/products/docker-desktop
2、安装
- 安装非常简单,不赘述。安装成功后查看windows任务栏会出现docker的经典logo,小鲸鱼。
3、查看版本
- 打开Windows控制台(Win+R -> 输入cmd -> 回车)-> 输入
docker --version
四、配置
1 docker desktop wsl2 修改默认子系统存储位置
https://zhuanlan.zhihu.com/p/339377526
安装WSL2后,可以在docker windows版本设置的general选项中,选择 Use the WSL2 based engine ,已启用WSL2功能。此时,修改Docker desktop的方法和前节修改WSL其他子系统方法一样,只是,在Windows中,dockers程序被分为以下两个wsl2的子系统:
- docker-desktop
- docker-desktop-data (images会放到这里)
修改步骤如下:
//退出docker //导出docker子系统 wsl --export docker-desktop D:\docker-desktop\docker-desktop.tar wsl --export docker-desktop-data D:\docker-desktop\docker-desktop-data.tar //注销现有docker子系统 wsl --unregister docker-desktop wsl --unregister docker-desktop-data //使用新位置导入docker子系统 wsl --import docker-desktop D:\docker-desktop\distro D:\docker-desktop\docker-desktop.tar --version 2 wsl --import docker-desktop-data D:\docker-desktop\data D:\docker-desktop\docker-desktop-data.tar --version 2 //重新启动dockers
3.配置Docker国内镜像加速下载:左侧菜单 Docker Engine -> 右侧输入框 -> Apply & Restart
{ "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ], "insecure-registries": [], "debug": false, "experimental": false, "features": { "buildkit": true } }
五 ClickHouse相关
1、拉取镜像
- 打开Windows控制台(Win+R -> 输入cmd -> 回车)-> 输入
docker pull yandex/clickhouse-server
docker pull yandex/clickhouse-client
- tips:如果没有配置国内镜像无法下载
2、运行临时容器 temp-clickhouse-server
- Windows控制台继续执行命令
docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server
3、config配置和users配置映射Windows硬盘目录
- (1) 在D盘根目录创建 D:/clickhouse/conf 文件夹
- (2) Windows控制台继续执行命令
docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml D:/clickhouse/conf/config.xml docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml D:/clickhouse/conf/users.xml
- tips:如果没有配置Dcoker文件挂载目录权限,会报错。
- (3) 查看文件情况

4、创建账号
- (1) 进入临时容器 temp-clickhouse-server ,Windows控制台继续执行命令
docker exec -it temp-clickhouse-server /bin/bash
- (2) 容器内执行命令,生成账号的SHA256,例如账号:zhai 密码:zhai
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "zhai"; echo -n "zhai" | sha256sum | tr -d '-
- 执行结果

- (3) 修改 D:/clickhouse/conf/users.xml 文件
<users> <zhai> <password_sha256_hex>3b75903cd12c5e8ad59f73feb4baa526ed3fe234f2d77d421d7b9d73fefb3f61</password_sha256_hex> <networks incl="networks" replace="replace"> <ip>::/0</ip> </networks> <profile>zhai</profile> <quota>zhai</quota> </zhai> </users>
5、修改监听host
- 修改 D:/clickhouse/conf/config.xml 文件
<listen_host>0.0.0.0</listen_host>
- tips:一般是IPV4,如果IPV6改成 ::
6、销毁临时容器
- Windows控制台执行命令
docker stop temp-clickhouse-server
7、运行ClickHouse服务
- (1) 创建目录:D:/clickhouse/data 和 D:/clickhouse/log
- (2) Windows控制台执行命令,映射端口 8123、9000、9009,数据、配置、日志映射到Windows硬盘
docker run -d --name=single-clickhouse-server -p 8123:8123 -p 9000:9000 -p 9009:9009 --ulimit nofile=262144:262144 --volume D:/clickhouse/data:/var/lib/clickhouse:rw --volume D:/clickhouse/conf:/etc/clickhouse-server:rw --volume D:/clickhouse/log:/var/log/clickhouse-server:rw yandex/clickhouse-server
8、安装完毕
六 CLICKHOUSE_CLIENT(docker 安装clickhouse-client )
1 拉取yandex/clickhouse-client docker镜像
docker pull yandex/clickhouse-client
2 启动clickhouse-client
docker run --name liucf-clickhouse-client -it --rm --link single-clickhouse-server:clickhouse-server-alias docker.io/yandex/clickhouse-client --host 192.168.12.14 --port 9000 --user zhai --password zhai
可见启动成功可以使用
因为客户端每次使用完不用一直常驻所以这里使用--rm 参数 在使用exit 命令退出liucf-clickhouse-client容器后就会直接删除这个容器,下次启动重新创建就可以了
注意:这里使用了 docker --link 命令,可以让一个容器和另一个容器很方便的连接起来,其参数部分的single-clickhouse-server表示要连接的容器真是名称,clickhouse-server-alias是要连接的容器的别名。192.168.12.14 宿主机IP
相关问题:
解决报错
更加报错提示,猜测可能是我们使用的wsl2版本老了,需要我们自己手动更新一下,我们根据提示去微软官网下载最新版的wsl2安装后即可正常打开。
参考链接:
https://zhuanlan.zhihu.com/p/339377526
https://cloud.tencent.com/developer/article/1804512
https://blog.csdn.net/m0_37813354/article/details/109526076