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个或以上的字段 复合主键的列顺序会影响索引的使用,需谨慎设计 添加…

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…

【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:给您的应用添加通知

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

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

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

图论常见算法

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

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

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

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…

简单介绍一下什么是OpenFeign

OpenFeign是什么? OpenFeign是一个声明式的Http客户端,它可以用来发起Http请求 它主要用于SpringCloud微服务之间的通讯,让调用另一个服务的Java方法和调用本地方法一样快速和便捷 之前我们是用RestTemplate写一大堆东西发起Http请求远程调…

Hugging Face GGUF 模型可视化

Hugging Face GGUF 模型可视化 1. Finding GGUF files (检索 GGUF 模型)2. Viewer for metadata & tensors info (可视化 GGUF 模型)References 无知小儿,仙家雄霸天下,依附强者才是唯一的出路。否则天地虽大,也让你们无路可走&#xff0…

Python 与 PostgreSQL 集成:深入 psycopg2 的应用与实践

title: Python 与 PostgreSQL 集成:深入 psycopg2 的应用与实践 date: 2025/2/4 updated: 2025/2/4 author: cmdragon excerpt: PostgreSQL 作为开源关系型数据库的佼佼者,因其强大的功能与性能被广泛应用于各种项目中。而 Python 则因其简洁易用的语法、丰富的库和强大的…

生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (上)

今天小李哥将开启全新的技术分享系列,为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来,生成式 AI 安全市场正迅速发展。据 IDC 预测,到 2025 年全球 AI 安全解决方案市场规模将突破 200 亿美元,年复合增长率超过 30%…

《LLM大语言模型深度探索与实践:构建智能应用的新范式,融合代理与数据库的高级整合》

文章目录 Langchain的定义Langchain的组成三个核心组件实现整个核心组成部分 为什么要使用LangchainLangchain的底层原理Langchain实战操作LangSmithLangChain调用LLM安装openAI库-国内镜像源代码运行结果小结 使用Langchain的提示模板部署Langchain程序安装langserve代码请求格…

开发板上Qt运行的环境变量的三条设置语句的详解

在终端中运行下面三句命令用于配置开发板上Qt运行的环境变量: export QT_QPA_GENERIC_PLUGINStslib:/dev/input/event1 export QT_QPA_PLATFORMlinuxfb:fb/dev/fb0 export QT_QPA_FONTDIR/usr/lib/fonts/设置成功后可以用下面的语句检查设置成功没有 echo $QT_QPA…

e2studio开发RA4M2(6)----GPIO外部中断(IRQ)配置

e2studio开发RA4M2.6--GPIO外部中断(IRQ)配置 概述视频教学样品申请硬件准备参考程序源码下载新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置SWD调试口设置GPIO口配置按键中断配置中断回调函数主程序 概述 GPIO(通用输入/输出&a…