暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Docker 部署clickhouse-server及添加用户配置密码

1830

前言

  • 由于现在居家办公测试环境连接公司的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

结语

  • 以上就是docker 部署clickhouse-server全过程,希望能帮到一些小伙伴。

  • clickhouse可以使用dbeaver可视化连接

  • 如部署或者其他问题欢迎去我的博客(www.loganjin.cn)留言或者微信公众号(Python技术交流圈)留言交流哦。


文章转载自Python技术交流圈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论