1、环境及工具

    Windows:Windows操作系统(以Win10为例)

    Docker Desktop:可以在Windows环境中运行的Docker的一款产品

    DBeaver:支持ClickHouse数据库的一款数据库管理工具

2、Windows相关配置

   ​ 2.1、启用虚拟化

        打开任务管理器,性能--CPU,确保“虚拟化”已被启用。

Windows中使用Docker安装ClickHouse_ClickHouse


    ​2.2、启用Hyper-v

        打开控制面板,启用或关闭Windows功能,勾选Hyper-v,确定。

Windows中使用Docker安装ClickHouse_docker_02

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文件双击进行安装即可,安装完成后,任务栏会出现一个蓝色的小鲸鱼图标(注意安装完成后可能会重启系统)。

Windows中使用Docker安装ClickHouse_windows_03


    ​3.3、查看版本

        安装完成后,我们可输入docker --version查看安装的版本信息。

Windows中使用Docker安装ClickHouse_docker_04

    ​3.4、配置Docker

        ​3.4.1​、打开Docker Desktop

            打开Docker Desktop如果出现“Docker.ApiServices.WSL2.WslKernelUpdateNotInstalledException”这个异常错误,说明需要安装WSL这个插件。

            打开​​Index of /res/​​,下载wsl.msi文件,然后安装即可。

            再次打开Docker Desktop就正常了。

Windows中使用Docker安装ClickHouse_xml_05

Windows中使用Docker安装ClickHouse_ClickHouse_06


        ​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"
}
}
}


Windows中使用Docker安装ClickHouse_xml_07

4、ClickHouse相关

   ​ 4.1、拉取镜像

        以管理员身份运行CMD,分别执行如下命令(注意:如果3.4.2步骤没有设置国内镜像,将不能下载拉取):



docker pull yandex/clickhouse-server



docker pull yandex/clickhouse-client


Windows中使用Docker安装ClickHouse_docker_08


    ​4.2、运行临时容器temp-clickhouse-server

        在CMD中继续执行如下命令:



docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server


Windows中使用Docker安装ClickHouse_xml_09

    ​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


Windows中使用Docker安装ClickHouse_windows_10


    ​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 '-'


Windows中使用Docker安装ClickHouse_ClickHouse_11


        上述创建账号和密码的命令执行后,会显示创建的账号和生成的加密密码,此时复制出来,以便配置到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>


Windows中使用Docker安装ClickHouse_desktop_12


    ​4.5、修改监听host

        修改config.xml文件,打开该文件,将如下配置增加进去即可:

<listen_host>0.0.0.0</listen_host>

Windows中使用Docker安装ClickHouse_xml_13


 ​   4.6、销毁临时容器

        由于我们在CMD中最后执行的是创建账号和密码的命令,此时需要先执行退出命令​exit​,再执行销毁命令:



docker stop temp-clickhouse-server



Windows中使用Docker安装ClickHouse_desktop_14


    ​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


Windows中使用Docker安装ClickHouse_windows_15


   ​ 4.8、安装完成

        此时我们可以在Docker Desktop的Containers/Apps中看到多了一个“single-clickhouse-server”的服务。

Windows中使用Docker安装ClickHouse_ClickHouse_16

5、DBeaver相关

   ​ 5.1、下载

        下载地址:​​https://dbeaver.io/files/dbeaver-ce-latest-x86_64-setup.exe​​​


   ​ 5.2、安装

        将下载下来的安装文件按照步骤安装即可。


   ​ 5.3、连接测试

        DBeaver安装好后,打开DBeaver,点击“文件”菜单下方的“+”(新建连接)按钮,找到ClickHouse数据库类型,然后在弹出来的对话框中输入主机(连接地址)、端口号、账户和密码,然后点击“测试连接”按钮测试是否连接成功。

Windows中使用Docker安装ClickHouse_ClickHouse_17

Windows中使用Docker安装ClickHouse_docker_18

Windows中使用Docker安装ClickHouse_ClickHouse_19