ClickHouse之docker-compose安装
ClickHouse之docker-compose安装
本次安装采用的是Ubuntu18.04
安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
其中v2.4.1为版本号,可以根据需要修改, docker-compose官方地址
赋予docker-compose可执行权限
sudo chmod +x /usr/local/bin/docker-compose
创建软连接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
查看docker-compose版本
docker-compose --version
至此docker-compose安装完成
Docker中运行ClickHouse官方指南
新建一个文件夹专门用于存放ClickHouse的docker-compose.yml文件
cd /usr/local/
mkdir clickhouse-docker在上面创建的文件夹中新建docker-compose.yml
version: '3'
services:
clickhouse:
image: yandex/clickhouse-server
container_name: clickhouse
restart: always
ports:
- "8123:8123"
- "9090:9000"
volumes:
- /home/clickhouse/data:/var/lib/clickhouse
- /home/clickhouse/log/:/var/log/clickhouse-server/
ulimits:
nofile:
soft: 262144
hard: 2621448123
:HTTP协议端口9000
:TCP协议端口9009
:集群数据复制ulimit nofile
: ClickHouse Server正常使用需要修改容器系统的文件句柄数量配置/etc/clickhouse-server
: 这个是ClickHouse Server默认的配置文件目录,包括全局配置config.xml
和用户配置users.xml
等等/var/lib/clickhouse
:这个是ClickHouse Server默认的数据存储目录/var/log/clickhouse-server
:这个是ClickHouse Server默认的日志输出目录便管理配置、查看数据和搜索日志,可以把上面这三个目录直接映射到宿主机的具体目录:
Docker容器目录 宿主机目录 /etc/clickhouse-server /home/clickhouse/config /var/lib/clickhouse /home/clickhouse/data /var/log/clickhouse-server /home/clickhouse/log 执行docker-compose命令
docker-compose up -d
查看运行状态,浏览器访问
clickhouse运行机器ip:8123
,如果成功,浏览器会返回OK,至此clickhouse安装完成。修改默认配置,首先把默认配置文件复制出来
docker cp clickhouse(容器名):/etc/clickhouse-server/config.xml /home/clickhouse/config/
docker cp clickhouse(容器名):/etc/clickhouse-server/users.xml /home/clickhouse/config/修改docker-compose 配置文件
volumes:
# 默认配置 写入config.d/users.d 目录防止更新后文件丢失
- /home/clickhouse/config/config.xml:/etc/clickhouse-server/config.d/config.xml:rw
- /home/clickhouse/config/users.xml:/etc/clickhouse-server/users.xml:rw
# 数据持久
- /home/clickhouse/data:/var/lib/clickhouse:rw
# 运行日志
- /home/clickhouse/log/:/var/log/clickhouse-server/修改配置文件后重启docker-compose
sudo docker-compose down
sudo docker-compose up -d到此数据持久化,默认配置修改,日志映射完成
浏览器访问
clickhouse运行机器ip:8123
,出现OK那么配置成功,查看容器日志sudo docker-compose logs -f
进入容器查看服务数据库
# 进入容器
docker exec -it clickhouse /bin/bash
# 使用clickhouse-client连接数据库,并查看数据库
SHOW databases;可以看到我们的服务运行正常!
创建用户登录,因为我们的users.xml已经挂载到 /home/clickhouse/config/users.xml,所以直接修改本地的users.xml,在
default
标签上添加如下代码<run>
<password>938d9935b0cbe96c639eb1a6ad4388e194b991672e6273becfe8ed99f0a7fb8c</password>
<networks>
<ip>::/0</ip>
</networks>
<profile>default</profile>
<quota>default</quota>
</run>上图第二个红框中,是生成sha256的代码,需要进入到clickhouse容器中执行:
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
重启容器,验证配置。
#停止容器
sudo docker-compose down
#启动容器
sudo docker-compose up -d
#进入容器
docker exec -it clickhouse /bin/bash
#通过密码连接clickhouse
clickhouse-client -u run -h 127.0.0.1 --password iFG6r5Pw至此服务就搭建完成!
可视化工具Tabix,在docker-compose.yml中加入下面代码
tabix:
image: spoonest/clickhouse-tabix-web-client
container_name: tabix
restart: always
ports:
- "8080:80"
logging:
driver: "json-file"
options:
max-size: "1m"保存并重启docker-compose,之后访问
clickhouse服务器地址:8080
,效果如下图所示: