1、环境及工具
Windows:Windows操作系统(以Win10为例)
Docker Desktop:可以在Windows环境中运行的Docker的一款产品
DBeaver:支持ClickHouse数据库的一款数据库管理工具
2、Windows相关配置
2.1、启用虚拟化
打开任务管理器,性能--CPU,确保“虚拟化”已被启用。
2.2、启用Hyper-v
打开控制面板,启用或关闭Windows功能,勾选Hyper-v,确定。
3、Docker相关
3.1、下载
下载地址:
https://www.docker.com/products/docker-desktop
https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=dd-smartbutton&utm_location=header
3.2、安装
将下载下来的Docker Desktop Installer.exe文件双击进行安装即可,安装完成后,任务栏会出现一个蓝色的小鲸鱼图标(注意安装完成后可能会重启系统)。
3.3、查看版本
安装完成后,我们可输入docker --version查看安装的版本信息。
3.4、配置Docker
3.4.1、打开Docker Desktop
打开Docker Desktop如果出现“Docker.ApiServices.WSL2.WslKernelUpdateNotInstalledException”这个异常错误,说明需要安装WSL这个插件。
打开Index of /res/,下载wsl.msi文件,然后安装即可。
再次打开Docker Desktop就正常了。
3.4.2、点击Settings--Docker Engine,添加registry-mirrors国内镜像加速下载地址,然后点击“Apply & Restart”按钮即可,如下所示:
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
{
"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
},
"builder": {
"gc": {
"enabled": true,
"defaultKeepStorage": "20GB"
}
}
}
4、ClickHouse相关
4.1、拉取镜像
以管理员身份运行CMD,分别执行如下命令(注意:如果3.4.2步骤没有设置国内镜像,将不能下载拉取):
docker pull yandex/clickhouse-server
docker pull yandex/clickhouse-client
4.2、运行临时容器temp-clickhouse-server
在CMD中继续执行如下命令:
docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server
4.3、config配置和users配置映射Windows硬盘目录
4.3.1、创建目录D:\Net_Program\Net_ClickHouse,用于存储数据、日志、配置等相关文件;
4.3.2、创建目录D:\Net_Program\Net_ClickHouse\conf,用于存放config.xml和users.xml配置文件;
4.3.3、在CMD中继续执行如下命令,执行后会在conf文件夹中生成config.xml和users.xml文件:
docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml D:/Net_Program/Net_ClickHouse/conf/config.xml
docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml D:/Net_Program/Net_ClickHouse/conf/users.xml
4.4、创建账号
进入临时容器temp-clickhouse-server,执行命令:
docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server
执行如下命令:
docker exec -it temp-clickhouse-server /bin/bash
然后紧接着执行如下命令创建账号和密码(如下命令代表创建的账号为quber、密码为123456):
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "quber"; echo -n "123456" | sha256sum | tr -d '-'
上述创建账号和密码的命令执行后,会显示创建的账号和生成的加密密码,此时复制出来,以便配置到users.xml中去
quber
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
修改users.xml文件,打开该文件,在<users>节点下增加如下配置则代表新增加一个用户(其中的password_sha256_hex节点就是上一步我们复制出来的加密密码):
<quber>
<password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>
<networks incl="networks" replace="replace">
<ip>::/0</ip>
</networks>
<profile>quber</profile>
<quota>quber</quota>
</quber>
4.5、修改监听host
修改config.xml文件,打开该文件,将如下配置增加进去即可:
<listen_host>0.0.0.0</listen_host>
4.6、销毁临时容器
由于我们在CMD中最后执行的是创建账号和密码的命令,此时需要先执行退出命令exit,再执行销毁命令:
docker stop temp-clickhouse-server
4.7、运行ClickHouse服务
在D:\Net_Program\Net_ClickHouse下创建data和log文件夹,用于存放数据和日志文件等。
然后在CMD中执行如下命令,映射端口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:/Net_Program/Net_ClickHouse/data:/var/lib/clickhouse:rw --volume D:/Net_Program/Net_ClickHouse/conf:/etc/clickhouse-server:rw --volume D:/Net_Program/Net_ClickHouse/log:/var/log/clickhouse-server:rw yandex/clickhouse-server
4.8、安装完成
此时我们可以在Docker Desktop的Containers/Apps中看到多了一个“single-clickhouse-server”的服务。
5、DBeaver相关
5.1、下载
下载地址:https://dbeaver.io/files/dbeaver-ce-latest-x86_64-setup.exe
5.2、安装
将下载下来的安装文件按照步骤安装即可。
5.3、连接测试
DBeaver安装好后,打开DBeaver,点击“文件”菜单下方的“+”(新建连接)按钮,找到ClickHouse数据库类型,然后在弹出来的对话框中输入主机(连接地址)、端口号、账户和密码,然后点击“测试连接”按钮测试是否连接成功。