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 教程
    • 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.mzph.cn/pingmian/69101.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

建表注意事项(2):表约束,主键自增,序列[oracle]

没有明确写明数据库时,默认基于oracle 约束的分类 用于确保数据的完整性和一致性。约束可以分为 表级约束 和 列级约束,区别在于定义的位置和作用范围 复合主键约束: 主键约束中有2个或以上的字段 复合主键的列顺序会影响索引的使用,需谨慎设计 添加…

为AI聊天工具添加一个知识系统 之86 详细设计之27 数据处理:ETL

本文要点 ETL 数据提取 作为 数据项目的起点。数据的整个三部曲--里程碑式的发展进程: ETL : 1分形 Type()-层次Broker / 2完形 Method() - 维度Delegate /3 整形 Class() - 容器 Agent 1变象。变象 脸谱Extractor - 缠度(物理 皮肤缠度&#xf…

Google C++ Style / 谷歌C++开源风格

文章目录 前言1. 头文件1.1 自给自足的头文件1.2 #define 防护符1.3 导入你的依赖1.4 前向声明1.5 内联函数1.6 #include 的路径及顺序 2. 作用域2.1 命名空间2.2 内部链接2.3 非成员函数、静态成员函数和全局函数2.4 局部变量2.5 静态和全局变量2.6 thread_local 变量 3. 类3.…

【HTML入门】Sublime Text 4与 Phpstorm

文章目录 前言一、环境基础1.Sublime Text 42.Phpstorm(1)安装(2)启动Phpstorm(3)“启动”码 二、HTML1.HTML简介(1)什么是HTML(2)HTML版本及历史(3)HTML基本结构 2.HTML简单语法(1)HTML标签语法(2)HTML常用标签(3)表格(4)特殊字符 总结 前言 在当今的软件开发领域&#xff0c…

C++滑动窗口技术深度解析:核心原理、高效实现与高阶应用实践

目录 一、滑动窗口的核心原理 二、滑动窗口的两种类型 1. 固定大小的窗口 2. 可变大小的窗口 三、实现细节与关键点 1. 窗口的初始化 2. 窗口的移动策略 3. 结果的更新时机 四、经典问题与代码示例 示例 1:和 ≥ target 的最短子数组(可变窗口…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.20 傅里叶变换:从时域到频域的算法实现

2.20 傅里叶变换:从时域到频域的算法实现 目录 #mermaid-svg-zrRqIme9IEqP6JJE {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-zrRqIme9IEqP6JJE .error-icon{fill:#552222;}#mermaid-svg-zrRqIme9IEqP…

刷题记录 动态规划-7: 63. 不同路径 II

题目:63. 不同路径 II 难度:中等 给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角(即 grid[0][0])。机器人尝试移动到 右下角(即 grid[m - 1][n - 1])。机器人每次只能向下或者向右移动一步。…

HarmonyOS:给您的应用添加通知

一、通知介绍 通知旨在让用户以合适的方式及时获得有用的新消息,帮助用户高效地处理任务。应用可以通过通知接口发送通知消息,用户可以通过通知栏查看通知内容,也可以点击通知来打开应用,通知主要有以下使用场景: 显示…

使用Java操作Redis数据类型的详解指南

SEO Meta Description: 详细介绍如何使用Java操作Redis的各种数据类型,包括字符串、哈希、列表、集合和有序集合,提供代码示例和最佳实践。 介绍 Redis是一种开源的内存数据结构存储,用作数据库、缓存和消息代理。它支持多种数据结构&#…

Unity飞行代码 超仿真 保姆级教程

本文使用Rigidbody控制飞机,基本不会穿模。 效果 飞行效果 这是一条优雅的广告 如果你也在开发飞机大战等类型的飞行游戏,欢迎在主页搜索博文并参考。 搜索词:Unity游戏(Assault空对地打击)开发。 脚本编写 首先是完整代码。 using System.Co…

图论常见算法

图论常见算法 算法prim算法Dijkstra算法 用途最小生成树(MST):最短路径:拓扑排序:关键路径: 算法用途适用条件时间复杂度Kruskal最小生成树无向图(稀疏图)O(E log E)Prim最小生成树无…

车载软件架构 --- 基于AUTOSAR软件架构的ECU开发流程小白篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活…

在CentOS服务器上部署DeepSeek R1

在CentOS服务器上部署DeepSeek R1,并通过公网IP与其进行对话,可以按照以下步骤操作: 一、环境准备 系统要求: CentOS 8+(需支持AVX512指令集)。 硬件配置: GPU版本:NVIDIA驱动520+,CUDA 11.8+。 CPU版本:至少16核处理器,64GB内存。 存储空间:原始模型需要30GB,量…

nlp文章相似度

1. 基于词袋模型(Bag of Words) 方法: 将文本表示为词频向量(如TF-IDF),通过余弦相似度计算相似性。 优点:简单快速,适合短文本或主题明显的场景。 缺点:忽略词序和语…

Linux 传输层协议 UDP 和 TCP

UDP 协议 UDP 协议端格式 16 位 UDP 长度, 表示整个数据报(UDP 首部UDP 数据)的最大长度如果校验和出错, 就会直接丢弃 UDP 的特点 UDP 传输的过程类似于寄信 . 无连接: 知道对端的 IP 和端口号就直接进行传输, 不需要建立连接不可靠: 没有确认机制, 没有重传机制; 如果因…

Android学习21 -- launcher

1 前言 之前在工作中,第一次听到launcher有点蒙圈,不知道是啥,当时还赶鸭子上架去和客户PK launcher的事。后来才知道其实就是安卓的桌面。本来还以为很复杂,毕竟之前接触过windows的桌面,那叫一个复杂。。。 后面查了…

unity学习26:用Input接口去监测: 鼠标,键盘,虚拟轴,虚拟按键

目录 1 用Input接口去监测:鼠标,键盘,虚拟轴,虚拟按键 2 鼠标 MouseButton 事件 2.1 鼠标的基本操作 2.2 测试代码 2.3 测试情况 3 键盘Key事件 3.1 键盘的枚举方式 3.2 测试代码同上 3.3 测试代码同上 3.4 测试结果 4…

深度剖析八大排序算法

欢迎并且感谢大家指出我的问题,由于本人水平有限,有些内容写的不是很全面,只是把比较实用的东西给写下来,如果有写的不对的地方,还希望各路大牛多多指教!谢谢大家!🥰 在计算机科学领…

在深度学习中,样本不均衡问题是一个常见的挑战,尤其是在你的老虎机任务中,某些的中奖倍数较高

在深度学习中,样本不均衡问题是一个常见的挑战,尤其是在你的老虎机任务中,某些的中奖倍数较高 在深度学习中,样本不均衡问题是一个常见的挑战,尤其是在你的老虎机任务中,某些的中奖倍数较高而其他的中奖倍数较低。这种不均衡会导致模型偏向于高频样本(低中奖倍数的),…