Docker部署ClickHouse(单机版)

Docker部署ClickHouse(单机版)_第1张图片

Docker部署ClickHouse(单机版)

  • Docker部署ClickHouse
    • 测试环境
    • 正式环境
    • 参考文章

Docker部署ClickHouse

文章介绍了如何使用Docker部署单机版的ClickHouse.

测试环境

  1. 拉取镜像
docker pull clickhouse/clickhouse-server:22.12
  1. 启动镜像
docker run \
-p 8123:8123 \
--name clickhouse-server \
--ulimit nofile=262144:262144 \
-e CLICKHOUSE_DB=test \
-e CLICKHOUSE_USER=root \
-e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \
-e TZ=Asia/Shanghai \
-e CLICKHOUSE_PASSWORD=123456 \
-d clickhouse/clickhouse-server:22.12
  1. clickhouse-client连接测试
    输入下面命令, 打开clickhouse自带的客户端工具
docker exec -it clickhouse-server clickhouse-client -h localhost --user root --password 123456

输入 show databases 查看数据库:
Docker部署ClickHouse(单机版)_第2张图片

  1. DBeaver连接测试
    Docker部署ClickHouse(单机版)_第3张图片

正式环境

  1. 创建目录
    在宿主机上创建三个目录 conf、data、log, 分别用来存放clickhouse的配置文件, 数据文件, 日志文件。进而实现Clickhouse数据持久化, 方便数据备份、迁移、恢复。
sudo mkdir -p /opt/servers/docker/clickhouse/conf /opt/servers/docker/clickhouse/data /opt/servers/docker/clickhouse/log
  1. 获取配置文件
  • 启动一个临时容器
# 启动临时容器
docker run --rm -d --name=temp-clickhouse-server clickhouse/clickhouse-server:22.12
  • 将临时容器中的配置文件拷贝到宿主机
# 将临时容器中的配置文件拷贝到宿主机
docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml /opt/servers/docker/clickhouse/conf/users.xml
docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml /opt/servers/docker/clickhouse/conf/config.xml
  • 删除临时容器
# 删除临时容器
docker rm -f temp-clickhouse-serve
  1. 配置文件修改
    添加root用户, 打开users.xml文件, 把下面的内容复制到 标签中
<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部署ClickHouse(单机版)_第4张图片
其中8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92是加密后的密码, 使用如下命令生成:

echo -n "123456" | sha256sum | tr -d '-'

8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c9
  1. 启动容器
sudo docker run -d --name=clickhouse-server \
-p 8123:8123 \
-e TZ=Asia/Shanghai \
--volume=/opt/servers/docker/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \
--volume=/opt/servers/docker/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \
--volume=/opt/servers/docker/clickhouse/log:/var/log/clickhouse-server \
--volume=/opt/servers/docker/clickhouse/data:/var/lib/clickhouse/ \
clickhouse/clickhouse-server:22.12

参考文章

Docker下安装部署Clickhouse及其远程访问
使用docker-compose快速实现mysql的主从复制
Docker 部署clickhouse

你可能感兴趣的:(docker,clickhouse,大数据)