Docker安装Clickhouse
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%