问题
本来想着在服务器上面安装ClickHouse数据库,由于项目预算有限,安装了一个空的ClickHouse数据库后面,服务器连命令行都卡顿了,免费的服务器都带不动。现在就只好尝试在本地mac m1上面使用docker compose方式安装试一试了。
默认config.xml
从docker镜像中,获取默认config.xml文件,具体命令如下:
bash
docker run --rm clickhouse/clickhouse-server:25.3.2.39-alpine bash -c "cat /etc/clickhouse-server/config.xml" > config.xml
默认users.xml
从docker镜像中,获取默认users.xml文件,具体命令如下:
bash
docker run --rm clickhouse/clickhouse-server:25.3.2.39-alpine bash -c "cat /etc/clickhouse-server/users.xml" > users.xml
docker-compose.yml
yaml
services:
clickhouse-server:
image: clickhouse/clickhouse-server:25.3.2.39-alpine
container_name: clickhouse-server
environment:
- CLICKHOUSE_PASSWORD=admin123 # 用户密码
- CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 # 启用访问管理
ports:
- "8123:8123" # HTTP接口
- "9000:9000" # 客户端TCP接口
volumes:
- ./data:/var/lib/clickhouse # 数据持久化
- ./config.xml:/etc/clickhouse-server/config.xml # 自定义配置
- ./users.xml:/etc/clickhouse-server/users.xml # 用户配置
- ./logs:/var/log/clickhouse-server
ulimits:
nofile:
soft: 262144
hard: 262144
注意:你选择clickhouse数据库版本的时候,尽可能选择lts版本,也就是长期支持版。这样数据库在社区的生命周期长一点。
部署
bash
docker compose up -d
查看进程
bash
docker compose ps
下线
bash
docker compose down
测试验证
找个数据库工具连接一下数据库即可,效果如下图:
总结
ClickHouse数据库还是挺吃性能的。生产环境最好还是按照官网文件推荐配置进行部署。clickhouse/clickhouse-server这个docker镜像虽然在docker hub上面没有被clickhouse公司认证为官方镜像,但是在生产环境部署的文档中和github源代码中,生产环境部署还是使用的这个docker镜像的。不用担心这个镜像没有像clickhouse镜像那样,被clickhouse公司认证为官方镜像。总之,clickhouse/clickhouse-server还是很靠谱的,尽管没有被clickhouse公司认证。