Docker 部署 ClickHouse 教程

Docker 部署 ClickHouse 教程

背景

ClickHouse 是一个开源的列式数据库管理系统(DBMS),主要用于在线分析处理(OLAP)。它专为大数据的实时分析设计,支持高速的查询性能和高吞吐量。ClickHouse 以其高效的数据压缩技术和高性能的查询处理能力,广泛应用于大数据分析、日志处理、监控数据存储等场景。

ClickHouse 的主要特点:

  • 列式存储:
    ClickHouse 使用列式存储数据,优化了读取性能,尤其适合分析型查询。
    这种存储方式使得读取特定列的数据更加高效,特别是在执行大数据量的聚合、筛选等操作时。
  • 高性能:
    ClickHouse 可以处理数百 TB 甚至 PB 级别的数据,并且支持低延迟的查询处理。
    它通过多核并行计算和数据压缩技术,大幅提升了查询性能。
  • 分布式架构:
    ClickHouse 支持分布式部署,能够横向扩展,适应大规模的数据处理需求。
    可以通过集群进行负载均衡和数据分布,实现高可用性。
  • SQL 支持:
    ClickHouse 支持 SQL 语法,因此用户可以像使用传统的关系型数据库一样使用 SQL 进行查询。
    其 SQL 语法扩展了许多适用于 OLAP 查询的功能,比如窗口函数、分组聚合等。
  • 数据压缩:
    ClickHouse 提供多种数据压缩算法,大大降低了存储成本。
    它可以有效地将数据压缩到更小的体积,从而减少磁盘空间的使用。
  • 实时数据处理:
    ClickHouse 支持高吞吐量的数据导入,可以处理实时数据流。
    它能够快速处理日志、监控指标等数据,适用于需要实时分析的场景。

另外根据 https://db-engines.com/en/rankinghttps://db-engines.com/en/ranking 数据库排名网站


文章目录

  • [Docker 部署 ClickHouse 教程](#Docker 部署 ClickHouse 教程)
    • [1. 拉取 ClickHouse 镜像](#1. 拉取 ClickHouse 镜像)
    • [2.运行 ClickHouse 容器](#2.运行 ClickHouse 容器)
    • [3. 验证容器是否启动成功](#3. 验证容器是否启动成功)
    • [4. 连接到 ClickHouse 实例](#4. 连接到 ClickHouse 实例)
    • [5. 停止和删除容器](#5. 停止和删除容器)
  • 设置密码

要使用 Docker 安装 ClickHouse,以下是一个简单的步骤指南:

1. 拉取 ClickHouse 镜像

首先,你需要从 Docker Hub 拉取官方的 ClickHouse 镜像。你可以使用以下命令:

bash 复制代码
docker pull yandex/clickhouse-server

2.运行 ClickHouse 容器

一旦镜像被拉取下来,你可以使用以下命令启动一个新的 ClickHouse 容器:

bash 复制代码
docker run -d --name clickhouse-server \
  -p 8123:8123 \
  -p 9000:9000 \
  -p 9009:9009 \
  -v /path/to/your/data:/var/lib/clickhouse \
  yandex/clickhouse-server

这里的参数说明:

  • -d:以后台模式运行容器。
  • --name clickhouse-server:给容器指定一个名称(可以自定义)。
  • -p:将容器内的端口映射到主机的端口。
    • 8123:HTTP接口端口。
    • 9000:TCP接口端口。
    • 9009:用于复制的端口。
  • -v /path/to/your/data:/var/lib/clickhouse:挂载一个本地目录用于存储 ClickHouse 数据(根据你的需求修改路径)。
  • yandex/clickhouse-server:指定使用的镜像。

3. 验证容器是否启动成功

你可以通过以下命令检查容器的状态

bash 复制代码
docker ps

如果容器运行正常,你将看到类似 clickhouse-server 容器的条目。

4. 连接到 ClickHouse 实例

你可以通过以下命令连接到 ClickHouse 实例:

你将进入到 ClickHouse 客户端,可以执行 SQL 查询等操作。

5. 停止和删除容器

如果需要停止并删除容器,可以使用以下命令:

停止容器:

bash 复制代码
docker stop clickhouse-server

删除容器:

bash 复制代码
docker rm clickhouse-server

设置密码

由于Docker 部署 ClickHouse 默认用户名是 default ,是没有密码的

需要设置密码就需要设置 点 /etc/clickhouse-server/users.xml 的文件 。

如果发现 vi 命令不能就需要安装 vi软件

具体分2步

bash 复制代码
apt-get update
apt-get install vim

最后编辑密码

bash 复制代码
vi users.xml

创建一个数据库

sql 复制代码
CREATE DATABASE IF NOT EXISTS class;

查看 版本

sql 复制代码
select version();

7.总结

通过以上步骤,你可以轻松地使用 Docker 安装并运行 ClickHouse。根据自己的需求,进一步配置数据存储路径、端口映射和其他设置。

相关推荐
说实话起个名字真难啊9 小时前
实战docker部署dify及注意点
运维·docker·容器
Starry-sky(jing)12 小时前
crane 下载镜像:不连接 Docker,3 步准备并校验 ARM64 离线包
运维·docker·arm64·crane
喵了几个咪13 小时前
GoWind UBA 拆解:把 Doris UNIQUE KEY 翻译成 ClickHouse——读数正确性对齐实录
开发语言·后端·clickhouse·微服务·golang·gowind
对象存储与RustFS13 小时前
GPU 在空转等数据?PyTorch 训练集进 RustFS 的三种接法
后端·docker·云原生
爱吃火鸡面呀16 小时前
MySQL、ClickHouse、Doris、Hive、Spark SQL、Flink SQL 选型对比:优点、缺点与面试话术
hive·mysql·clickhouse
可涵不会debug17 小时前
超级马里奥常驻极空间以后怎么打开?Docker运行游戏页面,手机电脑都能从浏览器进入
游戏·docker·智能手机
姜鱼问生1 天前
网页一片白?Docker 跑 Nginx 读不到文件,403 Forbidden 排查实录
nginx·docker·容器
ms72wx1 天前
Docker 命令学习笔记:从入门到进阶的实战指南
笔记·学习·docker
java_logo1 天前
Docker 部署 Excalidraw:轻松搭建手绘风格白板
运维·docker·容器·excalidraw·白板·轩辕镜像
海的透彻2 天前
如何让docker容器启动时用自定义的用户
java·docker·dubbo