docker-compose 部署clickhouse-server:24.6

本文涉及的产品
云数据库 PolarDB MySQL 版,列存表分析加速 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 本文介绍了如何使用 Docker Compose 快速部署 ClickHouse Server 24.6 单节点服务,含端口映射(8123/9000)、数据日志持久化、密码安全配置及自定义 config.xml 示例,并提供启动验证命令与生产安全提示。

要在 Docker Compose 中部署 ClickHouse Server 24.6 版本,你可以使用以下 docker-compose.yml 文件。该配置包含基本的单节点 ClickHouse 服务,并暴露默认端口(HTTP: 8123,TCP/Native: 9000)。


✅ docker-compose.yml 示例

version: '3.8'

services:
  clickhouse-server:
    image: clickhouse/clickhouse-server:24.6
    container_name: clickhouse-server
    ports:
      - "8123:8123"   # HTTP 接口
      - "9000:9000"   # Native TCP 接口
      - "9009:9009"   # Internal replication port (可选)
    volumes:
      - ./clickhouse_data:/var/lib/clickhouse
      - ./clickhouse_log:/var/log/clickhouse-server
      - ./config.xml:/etc/clickhouse-server/config.d/custom.xml  # 可选自定义配置
    environment:
      - CLICKHOUSE_USER=default
      - CLICKHOUSE_PASSWORD=your_strong_password  # 建议修改为强密码
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    restart: unless-stopped

📁 目录结构建议

在你的项目目录下创建如下结构:

.
├── docker-compose.yml
├── clickhouse_data/       # 数据持久化目录(自动创建)
├── clickhouse_log/        # 日志目录
└── config.xml             # (可选)自定义配置文件

如果你不需要自定义配置,可以删除 volumes 中对应 config.xml 的那一行。


🔐 安全提示

  • 不要在生产环境中使用默认密码。上面示例中通过环境变量设置了用户和密码。
  • ClickHouse 默认用户是 default,可通过 CLICKHOUSE_USERCLICKHOUSE_PASSWORD 环境变量覆盖。
  • 如需更复杂的用户/权限管理,建议挂载自定义的 users.xml 或使用 config.d/ 下的配置片段。

▶️ 启动服务

docker-compose up -d

验证是否运行成功:

# 检查容器状态
docker-compose ps

# 测试 HTTP 接口
curl http://localhost:8123/

# 应返回 "Ok."

📝 补充:自定义 config.xml 示例(可选)

如果你需要调整配置(如监听所有地址、开启压缩等),可以创建 config.xml

<!-- config.xml -->
<yandex>
    <listen_host>::</listen_host> <!-- 允许 IPv6 和 IPv4 -->
    <max_connections>4096</max_connections>
    <keep_alive_timeout>300</keep_alive_timeout>
</yandex>

注意:这个文件会被挂载到 /etc/clickhouse-server/config.d/custom.xml,ClickHouse 会自动合并配置。


如需集群部署、ZooKeeper 集成或备份策略,也可以进一步扩展此配置。需要的话可以继续问我!

相关文章
|
开发工具 数据安全/隐私保护 Docker
docker下安装clickhouse
docker下安装clickhouse
1136 0
|
消息中间件 安全 Kafka
2024年了,如何更好的搭建Kafka集群?
我们基于Kraft模式和Docker Compose同时采用最新版Kafka v3.6.1来搭建集群。
4347 2
2024年了,如何更好的搭建Kafka集群?
|
4月前
|
测试技术 Go API
当 Goroutine 需要等待:Go 中 sync.WaitGroup 的优雅使用
当 Goroutine 需要等待:Go 中 sync.WaitGroup 的优雅使用
302 136
|
27天前
|
SQL 关系型数据库 MySQL
5款好用的免费MySQL客户端,新手必备!
告别枯燥命令行!数据库小学妹精选5款免费MySQL图形化工具:Workbench(官方全能)、phpMyAdmin(免安装Web版)、DBeaver(多库支持)、HeidiSQL(Windows轻量之选)、TablePlus(高颜值跨平台)。小白友好,语法高亮、自动补全、可视化结构一应俱全,助你高效学SQL!
|
消息中间件 Kafka 流计算
docker环境安装kafka/Flink/clickhouse镜像
通过上述步骤和示例,您可以系统地了解如何使用Docker Compose安装和配置Kafka、Flink和ClickHouse,并进行基本的验证操作。希望这些内容对您的学习和工作有所帮助。
1524 28
|
存储 监控 数据挖掘
【Clikhouse 探秘】ClickHouse 物化视图:加速大数据分析的新利器
ClickHouse 的物化视图是一种特殊表,通过预先计算并存储查询结果,显著提高查询性能,减少资源消耗,适用于实时报表、日志分析、用户行为分析、金融数据分析和物联网数据分析等场景。物化视图的创建、数据插入、更新和一致性保证通过事务机制实现。
1992 14
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
1229 1
|
存储 SQL Docker
ClickHouse入门指南:快速搭建与使用
【10月更文挑战第26天】在大数据时代,如何高效地处理海量数据成为了许多企业和开发者的关注点。ClickHouse 是一个开源的列式数据库管理系统(Column-Oriented DBMS),以其出色的查询性能和高并发能力,在数据分析领域迅速崛起。本文将从一个初学者的角度出发,详细介绍如何快速上手 ClickHouse,涵盖从环境搭建到基础操作的全过程。
2036 3
|
存储 Oracle 关系型数据库
使用Docker安装ClickHouse
ClickHouse是一个由俄罗斯最大的搜索公司Yandex开源的列式数据库(DBMS),主要用于在线分析处理查询(OLAP),于2016年开源,采用C++开发。凭借优秀的性能,市场反应非常热烈。
3021 0
使用Docker安装ClickHouse
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
The article introduces IoTDB, an open-source time-series database designed for efficient management of IoT-generated data. It addresses challenges like real-time integration of massive datasets and security. IoTDB supports high-performance storage,
656 0
Apache IoTDB进行IoT相关开发实践