Docker 部署 ClickHouse 教程

ops/2025/2/4 2:27:34/

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 教程
    • 1. 拉取 ClickHouse 镜像
    • 2.运行 ClickHouse 容器
    • 3. 验证容器是否启动成功
    • 4. 连接到 ClickHouse 实例
    • 5. 停止和删除容器
  • 设置密码
    • 7.总结


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

1. 拉取 ClickHouse 镜像

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

docker pull yandex/clickhouse-server

在这里插入图片描述

2.运行 ClickHouse 容器

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

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. 验证容器是否启动成功

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

docker ps

在这里插入图片描述
如果容器运行正常,你将看到类似 clickhouse-server 容器的条目。

4. 连接到 ClickHouse 实例

你可以通过以下命令连接到 ClickHouse 实例:
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

5. 停止和删除容器

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

docker stop clickhouse-server

删除容器:

docker rm clickhouse-server

设置密码

由于Docker 部署 ClickHouse 默认用户名是 default ,是没有密码的
需要设置密码就需要设置 点 /etc/clickhouse-server/users.xml 的文件 。

在这里插入图片描述

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

在这里插入图片描述

具体分2步

apt-get update
apt-get install vim

在这里插入图片描述
最后编辑密码

vi users.xml

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

创建一个数据库

CREATE DATABASE IF NOT EXISTS class;

查看 版本

select version();

在这里插入图片描述

7.总结

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


http://www.ppmy.cn/ops/155449.html

相关文章

点击WPS 任务栏上的图标,不是马上进入工作页面,而是呈现多个文档页面选择时的处理方法

问题: 点击WPS以后不是直接进入 解决: 首页-配置和修复工具-高级-兼容设置-改为与microsoft office 2010兼容(D)

开源 OA 办公系统

目前尚未有关于勾股 OA 5.6.8 新春版发布的相关确切信息,但勾股 OA v5.6 已于 2025 年 1 月 19 日发布2。勾股 OA 是一款基于 ThinkPHP6 Layui MySql 打造的实用的开源的企业办公系统2。勾股 OA v5.6 的相关信息如下2: 系统特点 系统各功能模块一目了…

Codeforces Round 863 (Div. 3) E. Living Sequence

题目链接 头一回用不是正解的方法做出来,也是比较极限,直接说做法就是二分数位dp 数位 d p dp dp 求 1 − n 1-n 1−n出现多少含 4 4 4的数字个数 这纯纯板子了 \sout{这纯纯板子了} 这纯纯板子了 设 f ( x ) f(x) f(x) 为 1 − x 1-x 1−x 中含有4的…

基于微信小程序的辅助教学系统的设计与实现

标题:基于微信小程序的辅助教学系统的设计与实现 内容:1.摘要 摘要:随着移动互联网的普及和微信小程序的兴起,基于微信小程序的辅助教学系统成为了教育领域的一个新的研究热点。本文旨在设计和实现一个基于微信小程序的辅助教学系统,以提高教…

FPGA实现任意角度视频旋转(完结)视频任意角度旋转实现

本文主要介绍如何基于FPGA实现视频的任意角度旋转,关于视频180度实时旋转、90/270度视频无裁剪旋转,请见本专栏前面的文章,旋转效果示意图如下: 为了实时对比旋转效果,采用分屏显示进行处理,左边代表旋转…

TypeScript 学习 -代码检查工具 eslint

代码检查工具 尽管 TypeScript 提供了类型检查和静态分析功能,使用 ESLint 仍然能带来很多好处,特别是当需要确保代码质量、遵循一致的代码风格、避免潜在的错误和提高团队协作时。ESLint 和 TypeScript 是互补的工具,它们共同帮助你保持高质…

浅析服务器虚拟化技术

服务器虚拟化技术是现代信息技术领域的一项重要创新,通过将物理服务器的硬件资源(如CPU、内存、存储和网络)抽象化,实现多个虚拟服务器(虚拟机,VMs)的运行。这种技术不仅提高了资源利用率,还简化了管理流程,降低了成本,并为云计算和大数据发展提供了坚实的基础。以下…

深度学习 DAY3:NLP发展史(全网最全)

NLP发展史 NLP发展脉络简要梳理如下: (远古模型,上图没有但也可以算NLP) 1940 - BOW(无序统计模型) 1950 - n-gram(基于词序的模型) (近代模型) 2001 - Neural language models&am…