Docker安装Clickhouse

https://clickhouse.com/ clickhouse官网

https://hub.docker.com/r/clickhouse/clickhouse-server/ 此为Docker安装Clickhouse官网

此为按照命令:

  docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server

但是根据此命令安装完成后使用DBeaver连接时候,是连接不上的。

故而采用自定义配置启动服务器的案例,此案例我直接启动失败/

$ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -v /path/to/your/config.xml:/etc/clickhouse-server/config.xml clickhouse/clickhouse-server

故而查阅大量资料,整理出安装的步骤来。

首先还是安装官网的命令

第一步 启动临时容器,目的:拷贝容器内配置文件

  docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server

第二步 宿主机创建目录,用于存放配置文件、数据、日志

sudo mkdir -p /opt/clickhouse/conf /opt/clickhouse/data /opt/clickhouse/log

第三部 将容器内配置文件拷贝到宿主机

docker cp some-clickhouse-server:/etc/clickhouse-server/users.xml /opt/clickhouse/conf/users.xml

docker cp some-clickhouse-server:/etc/clickhouse-server/config.xml /opt/clickhouse/conf/config.xml

第四部 启动clickhouse容器

docker run -d --name some-clickhouse-server \
-p 8123:8123 \
-p 9009:9009 \
-p 9090:9000 \
--ulimit nofile=262144:262144 \
--volume=/opt/clickhouse/data:/var/lib/clickhouse \
--volume=/opt/clickhouse/log:/var/log/clickhouse-server \
--volume=/opt/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \
--volume=/opt/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \ clickhouse/clickhouse-server

或者使用此命令 一个换行一个没换行

docker run -d --name some-clickhouse-server -p 8123:8123 -p 9009:9009 -p 9090:9000 --ulimit nofile=262144:262144 --volume=/opt/clickhouse/data:/var/lib/clickhouse --volume=/opt/clickhouse/log:/var/log/clickhouse-server --volume=/opt/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml --volume=/opt/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml clickhouse/clickhouse-server

进去容器

docker exec -it 容器表示 /bin/bash

进去ClickHouse

clickhouse client -m -h 127.0.0.1

如果设置密码后如何进入:
clickhouse-client -h ip地址 -d default -m -u default --password 密码明文
如:clickhouse client -h 127.0.0.1 -d default -m -u default --password Ncsnc1234%

显示数据库

show databases;

使用数据库

use information_schema;

asynchronous_metric_log

ClickHouse设置密码

1.clickhouse的密码有2种形式,一种是明文,一种是写sha256sum的Hash值

官方不建议直接写明文密码,可以用以下命令生成密码

$PASSWORD 就是我们要加密的密码
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD";    //此为明文密码
echo -n "$PASSWORD" | sha256sum | tr -d '-'                          //此为加密后的密码 
[root@kdc01 conf]# echo -n "123456" | sha256sum | tr -d '-'
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92  
[root@kdc01 conf]# PASSWORD=$(base64 < /dev/urandom | head -c8); echo "123456"; 
123456

cilckhouse的配置文件默认地址 /etc/clickhouse-server,而我们安装的时候配置了路径 /opt/clickhouse/conf

cd /opt/clickhouse/conf

vim users.xml   #找到 users --> default --> 标签下的password修改成password_sha256_hex,并把密文填进去

<password_sha256_hex>密码密文</password_sha256_hex>

重启一下clickhouse服务

docker restart ck的服务名称

4.开放外网访问,vim config.xml 找到 listen_host 标签,修改为以下

<listen_host>0.0.0.0</listen_host>

客户端工具就可以通过:

用户名是default,

密码是密码明文

登陆到CK

CK的密码:Ncsnc1234%

posted @ 2022-04-28 13:15  —阿峰—  阅读(3146)  评论(0编辑  收藏  举报