ClickHouse安装
ClickHouse 说明
本章,我们主要以在 Windows 中使用 Docker 对ClickHouse 安装进行介绍!
1、🌱 拉取 ClickHouse 镜像
以管理员身份运行 CMD,依次执行如下命令:
docker pull yandex/clickhouse-server
docker pull yandex/clickhouse-client



2、🌲 运行临时容器 temp-clickhouse-server
执行如下命令:
docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server

3、🌳 配置及映射
创建目录D:\Net_Program\Net_Docker\ClickHouse,用于存储数据、日志、配置等相关文件;
创建目录D:\Net_Program\Net_Docker\ClickHouse\Conf,用于存放 config.xml 和 users.xml 配置文件;
分别执行如下命令,执行后会在Conf文件夹中生成config.xml和users.xml文件:
docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml D:/Net_Program/Net_Docker/ClickHouse/Conf/config.xmldocker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml D:/Net_Program/Net_Docker/ClickHouse/Conf/users.xml
xml 
xml
4、🌴 创建账号
执行如下命令进入临时容器 temp-clickhouse-server:
docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server
4.1 继续执行如下命令:
docker exec -it temp-clickhouse-server /bin/bash
4.2 执行如下命令创建账号和密码(如下命令分别代表创建的账号为 quber,修改默认账号 default,密码为 123456):
创建账号 quber:
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "quber"; echo -n "123456" | sha256sum | tr -d '-'修改默认账号 default:
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "default"; echo -n "123456789" | sha256sum | tr -d '-'
4.3 上述创建账号和密码的命令执行后,会显示创建的账号和生成的加密密码,此时复制出来,以便配置到 users.xml 中去
复制出来如下所示:
quber 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 default 15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225修改 users.xml 文件
在<users>节点下增加如下配置则代表新增加一个用户(其中的 password_sha256_hex 节点就是上一步我们复制出来的加密密码):
<quber> <password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex> <networks incl="networks" replace="replace"> <ip>::/0</ip> </networks> <profile>default</profile> <quota>default</quota> </quber>
4.4 修改 default 默认用户的密码:
找到<users>→<default>节点,将该节点下的<password>修改为:
<password_sha256_hex>15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225</password_sha256_hex>
4.5
5、🌵 修改监听 host
修改 config.xml 文件,打开该文件,将如下配置增加进去即可:
<listen_host>0.0.0.0</listen_host>

6、🌾 销毁临时容器
由于我们在 CMD 中最后执行的是创建账号和密码的命令,此时需要先执行退出命令exit,再执行销毁命令:
先执行 exit:
exit
再执行:
docker stop temp-clickhouse-server

7、🌿 构建并启动 ClickHouse 容器
在D:\Net_Program\Net_Docker\ClickHouse目录下创建Data和Log文件夹,用于存放数据和日志文件等。
执行如下命令,映射端口 8123、9000、9009,数据、配置、日志映射到 Windows 硬盘:
docker run -d --name=clickhouse -p 8123:8123 -p 9000:9000 -p 9009:9009 --ulimit nofile=262144:262144 --volume D:/Net_Program/Net_Docker/ClickHouse/Data:/var/lib/clickhouse:rw --volume D:/Net_Program/Net_Docker/ClickHouse/Conf:/etc/clickhouse-server:rw --volume D:/Net_Program/Net_Docker/ClickHouse/Log:/var/log/clickhouse-server:rw yandex/clickhouse-server


ClickHouse 已经正常启动并运行了。
当然,我们也可以使用如下命令查看运行容器的情况。
查看所有运行的容器:
docker ps

8、☘ 客户端测试
如这里我们可以使用 DBeaver 这个工具来测试。
如下图所示打开 DBeaver,选择 ClickHouse:

输入账户和密码,连接地址和端口:

点击测试连接:

连接效果:

提示
如果首次使用 DBeaver,可能会出现 ClickHouse 驱动没法下载的情况。
类似 Can't create driver instance Error creating driver 'ClickHouse' instance. Most likely required jar files are missing. You should configure jars in driver settings. Reason: can't load driver class 'com.clickhouse.jdbc.ClickHouseDriver' Error creating 错误。
此时我们可以去设置添加驱动下载源为阿里云:
依次定位到:窗口,首选项,连接,驱动,然后点击Maven,在右侧点击添加,然后输入https://maven.aliyun.com/repository/public/,然后将此项移动到第一位,最后确定保存重启 DBeaver 工具即可。

9、🍀 增加和修改账号
运行临时容器 temp-clickhouse-server:
执行如下命令:
docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server执行如下命令进入临时容器 temp-clickhouse-server:
docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server继续执行如下命令:
docker exec -it temp-clickhouse-server /bin/bash创建或修改账号 quber:
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>default</profile> <quota>default</quota> </quber>
4.4 修改 default 默认用户的密码:
找到<users>→<default>节点,将该节点下的<password>修改为:
<password_sha256_hex>15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225</password_sha256_hex>
4.5 销毁临时容器
由于我们在 CMD 中最后执行的是创建账号和密码的命令,此时需要先执行退出命令exit,再执行销毁命令:
先执行 exit:
exit再执行:
docker stop temp-clickhouse-server
6
