docker compose方式安装ClickHouse数据库

问题

本来想着在服务器上面安装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公司认证。

参考

相关推荐
Lin_Aries_042112 分钟前
容器化简单的 Java 应用程序
java·linux·运维·开发语言·docker·容器·rpc
脑花儿19 分钟前
ABAP SMW0下载Excel模板并填充&&剪切板方式粘贴
java·前端·数据库
SELSL20 分钟前
SQLite3的API调用实战例子
linux·数据库·c++·sqlite3·sqlite实战
洲覆21 分钟前
Redis 核心数据类型:从命令、结构到实战应用
服务器·数据库·redis·缓存
傻啦嘿哟22 分钟前
Python SQLite模块:轻量级数据库的实战指南
数据库·python·sqlite
维尔切40 分钟前
HAProxy 负载均衡器
linux·运维·数据库·负载均衡
什么半岛铁盒42 分钟前
C++项目:仿muduo库高并发服务器-------Channel模块实现
linux·服务器·数据库·c++·mysql·ubuntu
倔强的石头_1 小时前
【金仓数据库产品体验官】Windows 安装 KingbaseES V9R1C10 与 Oracle 兼容特性实战
数据库
望获linux1 小时前
【Linux基础知识系列:第一百四十篇】理解SELinux与系统安全
linux·运维·服务器·数据库·chrome·macos
人逝花落空.2 小时前
docker容器的三大核心技术UnionFS(下)
运维·docker·容器