前言

  • 由于现在居家办公测试环境连接公司的clickhouse需要vpn连接太麻烦且速度很慢,于是乎在测试机自己搭建clickhouse,废话不多说直接开始教程

容器clickhouse-server配置

  • 拉取clickhouse-server镜像:docker pull yandex/clickhouse-server

  • 创建配置目录

  • 创建clickhouse数据目录:mkdir -p /data/clickhouse/data/

  • 创建clickhouse config目录:mkdir -p /data/clickhouse/config/

  • 创建clickhouse log目录:mkdir -p /data/clickhouse/log/

  • 启动clickhouse server临时容器:

docker run -d \
--name clickhouse-server \
--ulimit nofile=262144:262144 \
-p 8123:8123 \
-p 9000:9000 \
-p 9009:9009 \
yandex/clickhouse-server:latest
  • 将容器内config.xml拷贝至主机config目录
docker cp clickhouse-server:/etc/clickhouse-server/config.xml /data/clickhouse/config/config.xml
  • 将容器内users.xml拷贝至主机config目录
docker cp clickhouse-server:/etc/clickhouse-server/users.xml /data/clickhouse/config/users.xml
  • default用户配置
# 生成sha256sum密码

# 随机生成密码
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
7I2bHFLv
a39ddb33bf9e57aaa208b0dd100c14f663125ccca7a356ab69fce7ed8ec97764

# 生成指定密码123456
echo "123456"; echo -n "123456" | sha256sum | tr -d '-'
123456
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

# 打开users.xml文件 default用户设置密码为123456
vim /data/clickhouse/config/users.xml

# 将文件中<password></password>改为以下内容
<password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>

# 将default用户改为只读
# 将<profile>default</profile>改为以下内容
<profile>readonly</profile>
  • 新增root用户
# 生成root用户密码123456
echo "123456"; echo -n "123456" | sha256sum | tr -d '-'
123456
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

# 打开users.xml文件 
vim /data/clickhouse/config/users.xml
# 在</default>下一行添加以下内容
<root>
        <password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>
        <networks incl="networks" replace="replace">
            <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
</root>
  • 删除临时容器:docker rm -f clickhouse-server

部署clickhouse-server

docker run -d \
--name clickhouse-server \
--ulimit nofile=262144:262144 \
-p 8123:8123 \
-p 9000:9000 \
-p 9009:9009 \
-v /data/clickhouse/data:/var/lib/clickhouse:rw \
-v /data/clickhouse/log:/var/log/clickhouse-server:rw \
-v /data/clickhouse/config/config.xml:/etc/clickhouse-server/config.xml \
-v /data/clickhouse/config/users.xml:/etc/clickhouse-server/users.xml \
yandex/clickhouse-server:latest

DBeaver连接clickhouse

https://loganjin.cn/cdn/article/mac-frpc/dbeaver-clickhouse.png

结语

  • 以上就是docker 部署clickhouse-server全过程,希望能帮到一些小伙伴。
  • clickhouse可以使用dbeaver可视化连接
  • 如部署或者其他问题欢迎去我的博客(www.loganjin.cn)留言或者微信公众号(Python技术交流圈)留言交流哦。

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:https://www.loganjin.cn/article/docker-clickhouse/

许可协议:署名-非商业性使用 4.0 国际许可协议