当前位置: 首页 > news >正文

docker compose方式安装ClickHouse数据库

问题

本来想着在服务器上面安装ClickHouse数据库,由于项目预算有限,安装了一个空的ClickHouse数据库后面,服务器连命令行都卡顿了,免费的服务器都带不动。现在就只好尝试在本地mac m1上面使用docker compose方式安装试一试了。

默认config.xml

从docker镜像中,获取默认config.xml文件,具体命令如下:

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文件,具体命令如下:

docker run --rm clickhouse/clickhouse-server:25.3.2.39-alpine bash -c "cat /etc/clickhouse-server/users.xml" > users.xml

docker-compose.yml

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版本,也就是长期支持版。这样数据库在社区的生命周期长一点。

部署

docker compose up -d

查看进程

docker compose ps

下线

docker compose down

测试验证

找个数据库工具连接一下数据库即可,效果如下图:
连接数据库

总结

ClickHouse数据库还是挺吃性能的。生产环境最好还是按照官网文件推荐配置进行部署。clickhouse/clickhouse-server这个docker镜像虽然在docker hub上面没有被clickhouse公司认证为官方镜像,但是在生产环境部署的文档中和github源代码中,生产环境部署还是使用的这个docker镜像的。不用担心这个镜像没有像clickhouse镜像那样,被clickhouse公司认证为官方镜像。总之,clickhouse/clickhouse-server还是很靠谱的,尽管没有被clickhouse公司认证。

参考

  • ClickHouse
  • clickhouse/clickhouse-server

相关文章:

  • 工会考试重点内容有哪些:核心考点与备考指南
  • 软考-数据库系统工程师(15万词+400张图片)(一)
  • SFM/MVS_NERF_3DGAUSS三维重建
  • linux内核升级
  • 行业案例 | SAS 基于 SQL 托管实例构建高弹性安全的数据平台
  • 低频rfid手持机,助力动物耳标智能化管理
  • 管理大规模监控技术栈的最佳实践
  • 【数据结构与算法】包装类初识泛型
  • 拓扑排序 —— 2. 力扣刷题207. 课程表
  • 14.1 - VDMA彩条显示实验之固定分辨率
  • 【Javascript】在canvas中加载shader着色器的方法(开箱即用)
  • 102.二叉树的层序遍历- 力扣(LeetCode)
  • JavaScript Number 对象
  • Unity中使用FMETP STREAM传输实时画面
  • python全栈-vue框架
  • Hibernate:让对象与数据库无缝对话的全自动ORM框架
  • CesiumEarth能够本地浏览的三维倾斜模型切片(3DTiles)
  • GESP2025年3月认证C++七级( 第三部分编程题(2)等价消除)
  • 图像形态学操作对比(Opencv)
  • VSCode中选择Anaconda的Python环境
  • wordpress调用相关文章加速/成都百度seo公司
  • 接网站开发做多少钱/个人免费推广网站
  • 做我的世界壁纸的网站/seo网站制作优化
  • 宠物网站开发背景/谷歌浏览器chrome官网
  • 网站建设的资源整合与系统设计/万网域名管理入口
  • 无锡网站建设企业排名/上海推广外包