大数据技术—— Clickhouse安装

目录

第一章 ClickHouse入门

1.1 ClickHouse的特点

1.1.1 列式存储

1.1.2 DBMS的功能

1.1.3 多样化引擎

1.1.4 高吞吐写入能力

1.1.5 数据分区与线程级并行

1.1.6 性能对比

第二章 ClickHouse的安装

2.1  准备工作

2.1.1  确定防火墙处于关闭状态

2.1.2  CentOS取消打开文件数限制

2.1.3  安装依赖

2.1.4  CentOS取消SELINUX

2.2  单机安装

2.2.1  在hadoop202的/opt/software下创建clickhouse目录

2.2.2 将资料/ClickHouse下4个文件上传到hadoop202的software/clickhouse目录下

2.2.3  将安装文件同步到hadoop203、hadoop204

2.2.4  分别在三台机子上安装这4个rpm文件

2.2.5  修改配置文件

2.2.6  启动Clickhouse

2.2.7  三台机器上关闭开机自启

2.2.8  使用client连接server


第一章 ClickHouse入门

        ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。  

1.1 ClickHouse的特点

1.1.1 列式存储

以下面的表为例:

Id

Name

Age

1

张三

18

2

李四

22

3

王五

34

  • 采用行式存储时,数据在磁盘上的组织结构为:

1

张三

18

2

李四

22

3

王五

34

好处是想查某个人所有的属性时,可以通过一次磁盘查找加顺序读取就可以。但是当想查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的。

  • 采用列式存储时,数据在磁盘上的组织结构为:

1

2

3

张三

李四

王五

18

22

34

这时想查所有人的年龄只需把年龄那一列拿出来就可以了

  • 列式储存的好处:
  1. 对于列的聚合,计数,求和等统计操作原因优于行式存储。
  2. 由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重。
  3. 由于数据压缩比更好,一方面节省了磁盘空间,另一方面对于cache也有了更大的发挥空间。

1.1.2 DBMS的功能

        几乎覆盖了标准SQL的大部分语法,包括 DDL和 DML,以及配套的各种函数,用户管理及权限管理,数据的备份与恢复

1.1.3 多样化引擎

        ClickHouse和MySQL类似,把表级的存储引擎插件化,根据表的不同需求可以设定不同的存储引擎。目前包括合并树、日志、接口和其他四大类20多种引擎。

1.1.4 高吞吐写入能力

        ClickHouse采用类LSM Tree的结构,数据写入后定期在后台Compaction。通过类LSM tree的结构,ClickHouse在数据导入时全部是顺序append写,写入后数据段不可更改,在后台compaction时也是多个段merge sort后顺序写回磁盘。顺序写的特性,充分利用了磁盘的吞吐能力,即便在HDD上也有着优异的写入性能。

        官方公开benchmark测试显示能够达到50MB-200MB/s的写入吞吐能力,按照每行100Byte估算,大约相当于50W-200W条/s的写入速度。

1.1.5 数据分区与线程级并行

        ClickHouse将数据划分为多个partition,每个partition再进一步划分为多个index granularity,然后通过多个CPU核心分别处理其中的一部分来实现并行数据处理。在这种设计下,单条Query就能利用整机所有CPU。极致的并行处理能力,极大的降低了查询延时。

        所以,ClickHouse即使对于大量数据的查询也能够化整为零平行处理。但是有一个弊端就是对于单条查询使用多cpu,就不利于同时并发多条查询。所以对于高qps的查询业务,ClickHouse并不是强项。

1.1.6 性能对比

某网站精华帖,中对几款数据库做了性能对比。

  • 单表查询

  • 关联查询

        结论: ClickHouse像很多OLAP数据库一样,单表查询速度由于关联查询,而且ClickHouse的两者差距更为明显。

第二章 ClickHouse的安装

2.1  准备工作

2.1.1  确定防火墙处于关闭状态

2.1.2  CentOS取消打开文件数限制

  • 在hadoop202的 /etc/security/limits.conf文件的末尾加入以下内容

[atguigu@hadoop202 ~]$ sudo vim /etc/security/limits.conf

* soft nofile 65536* hard nofile 65536* soft nproc 131072* hard nproc 131072
  • 在hadoop202的/etc/security/limits.d/20-nproc.conf文件的末尾加入以下内容

[atguigu@hadoop202 ~]$ sudo vim /etc/security/limits.d/20-nproc.conf

* soft nofile 65536* hard nofile 65536* soft nproc 131072* hard nproc 131072
  • 执行同步操作

[atguigu@hadoop202 ~]$ sudo /home/atguigu/bin/xsync /etc/security/limits.conf

[atguigu@hadoop202 ~]$ sudo /home/atguigu/bin/xsync /etc/security/limits.d/20-nproc.conf

2.1.3  安装依赖

[atguigu@hadoop202 ~]$ sudo yum install -y libtool

[atguigu@hadoop202 ~]$ sudo yum install -y *unixODBC*

在hadoop203、hadoop204上执行以上操作

2.1.4  CentOS取消SELINUX

  • 修改/etc/selinux/config中的SELINUX=disabled

[atguigu@hadoop202 ~]$ sudo vim /etc/selinux/config

SELINUX=disabled

注意:别改错了

  • 执行同步操作

[atguigu@hadoop202 ~]$ sudo /home/atguigu/bin/xsync /etc/selinux/config

  • 重启三台服务器

2.2  单机安装

官网:Fast Open-Source OLAP DBMS - ClickHouse

下载地址:https://repo.clickhouse.tech/rpm/stable/x86_64/  

2.2.1  在hadoop202的/opt/software下创建clickhouse目录

[atguigu@hadoop202 software]$ mkdir clickhouse

2.2.2 将资料/ClickHouse下4个文件上传到hadoop202的software/clickhouse目录下

2.2.3  将安装文件同步到hadoop203、hadoop204

[atguigu@hadoop202 software]$ xsync clickhouse/

2.2.4  分别在三台机子上安装这4个rpm文件

[atguigu@hadoop202 clickhouse]$ sudo rpm -ivh *.rpm

sudo rpm -qa|grep clickhouse查看安装情况

2.2.5  修改配置文件

[atguigu@hadoop202 clickhouse]$ sudo vim /etc/clickhouse-server/config.xml

<listen_host>::</listen_host> 的注释打开,这样的话才能让ClickHouse被除本机以外的服务器访问,在70行左右。

分发配置文件

sudo /home/atguigu/bin/xsync /etc/clickhouse-server/config.xml

在这个文件中,有ClickHouse的一些默认路径配置,比较重要的

数据文件路径:<path>/var/lib/clickhouse/</path>

日志文件路径:<log>/var/log/clickhouse-server/clickhouse-server.log</log>

2.2.6  启动Clickhouse

[atguigu@hadoop202 clickhouse]$ sudo systemctl start clickhouse-server

注意:如果安装过zabbix,需要禁用一些服务的开机自启

2.2.7  三台机器上关闭开机自启

[atguigu@hadoop202 clickhouse]$sudo systemctl disable clickhouse-server

2.2.8  使用client连接server

[atguigu@hadoop202 clickhouse]$ clickhouse-client -m

-m :可以在命令窗口输入多行命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/402317.html

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

相关文章

论文阅读笔记:ST-MetaNet-1

目录 前言 摘要 CCS 关键词 介绍 时空相关性的复杂组合 空间相关性 时间相关性 时空相关性的多样性 本篇博客结语 前言 读这篇论文边读边学&#xff0c;每天坚持发博客&#xff0c;看到哪学到哪&#xff0c;这系列文章既有翻译&#xff0c;又有深度详细解释&#xff…

2024开源资产管理系统推荐 8款免费开源IT资产管理系统/软件

开源资产管理系统 开源资产管理系统是帮助企业管理、跟踪和优化其资产的强大工具。这些系统能够自动记录资产的详细信息&#xff0c;如采购日期、使用情况、维护记录等&#xff0c;从而实现资产的全生命周期管理。企业可以通过这些系统优化资产使用效率&#xff0c;减少资产闲…

【瑞芯微RV1126(深度学习模型部署)】部署自己训练的yolov8-seg,实现足型检测!

前言 如果按照本系列第一篇博客那样交叉编译了opencv&#xff0c;那本文有些步骤就不用了&#xff0c;比如交叉编译工具链的下载&#xff0c;所以自己斟酌步骤。 本系列第一篇&#xff1a;https://blog.csdn.net/m0_71523511/article/details/139636367 本系列第二篇&#xff…

数字化转型底座-盘古信息IMS OS,可支撑构建MES/WMS/QCS/IoT等工业软件

在当今这个数字化浪潮汹涌的时代&#xff0c;众多企业纷纷踏上数字化转型之路。对于部分想自研工业软件的企业来说&#xff0c;一个强大、灵活且可扩展的数字化底座显得尤为重要。盘古信息IMS OS&#xff0c;&#xff0c;正是这样一款能够支撑构建MES&#xff08;制造执行系统&…

井字棋游戏(HTML+CSS+JavaScript)

&#x1f30f;个人博客主页&#xff1a;心.c 前言&#xff1a;这两天在写植物大战僵尸&#xff0c;写不动了&#xff0c;现在和大家分享一下之前我写的一个很简单的小游戏井字棋&#xff0c;这个没有AI&#xff0c;可以两个人一起玩&#xff0c;如果大家觉得我哪里写的有一些问…

BQ27441初始化配置程序,电压、SOC等参数读取程序

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言一、模拟IIC二、BQ27441初始化配置程序三、学习资料 前言 送给大学毕业后找不到奋斗方向的你&#xff08;每周不定…

html+css+js网页制作 自定义电商10个页面

htmlcssjs网页制作 自定义电商10个页面 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#…

机器学习 第11章-特征选择与稀疏学习

机器学习 第11章-特征选择与稀疏学习 11.1 子集搜索与评价 我们将属性称为“特征”(feature)&#xff0c;对当前学习任务有用的属性称为“相关特征”(relevant feature)、没什么用的属性称为“无关特征”(irrelevant feature)。从给定的特征集合中选择出相关特征子集的过程&a…

UART通信实现与验证(RS485)

前言 UART是一种常用的串行通信协议&#xff0c;RS485则是一种用于长距离和抗干扰的物理层标准。结合UART和RS485可以实现可靠的数据传输&#xff0c;特别是在多点通信和长距离应用中。通过合适的硬件连接、软件配置和验证测试&#xff0c;可以确保这一通信系统的稳定性和数据完…

【刷题笔记】二叉树2

1 二叉树的层序遍历 上一期我们讲了关于二叉树的前序、中序以及后序遍历的相关内容。然而&#xff0c;还存在一种遍历方式&#xff0c;这种方式非常符合我们人类的正常思维&#xff0c;可以求解很多树相关的问题&#xff0c;比较暴力——二叉树的层序遍历。 二叉树的层序遍历与…

读软件开发安全之道:概念、设计与实施01基础

1. 基础 1.1. 实现软件安全既需要运用逻辑&#xff0c;又是一项艺术 1.1.1. 一项仰赖直觉来做出判断的艺术 1.1.2. 需要践行者对当代数字系统有所掌 1.1.3. 需要他们对人与系统之间的交互有所体悟 1.2. 需要准确地思考一下何谓安全 1.2.1. 安全定义的主观性颇强&#xff0…

HarmonyOS开发:跨应用数据共享详解

目录 前言跨应用数据共享的重要性HarmonyOS的数据共享能力相关的基本概念跨应用数据共享的数据管理具体实现跨应用数据共享延伸&#xff1a;数据共享的安全和隐私结语 前言 现在的移动操作系统中&#xff0c;应用之间的数据共享已成为提升用户体验和实现功能互补的重要手段&a…

watch 和 watchEffect 的隐藏点 --- 非常细致

之前有一篇文章讲述了 watch 和 watchEffect 的使用&#xff0c;但在实际使用中&#xff0c;仍然存在一些“隐藏点”&#xff0c;可能会影响开发&#xff0c;在这补充一下。 1. watch 的隐藏点 1.1 性能陷阱&#xff1a;深度监听的影响 当在 watch 中使用 deep: true 来监听…

[MRCTF2020]套娃1

打开题目&#xff0c;查看源代码&#xff0c;有提示 有两层过滤 1.过滤"_"与"%5f" 。 这里要求的参数必须是"b_u_p_t"但是不能检测出"_"。这里看着很作弄人。其实这里要用到php里非法参数名的问题。可以参考一下博客 ?b.u.p.t2333…

Python爬虫技术与K-means算法的计算机类招聘信息获取与数据分析

有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 目录 摘要.... 1 Abstract 2 1 引言.... 3 1.1 研究背景... 3 1.2 国内外研究现状... 4 1.3 研究目的... 5 1.4 研究意义... 7 2 关键技术理论介绍... 7 2.1 Python爬虫... 7 2.1 K-means…

微软开源库 Detours 详细介绍与使用实例分享

目录 1、Detours概述 2、Detours功能特性 3、Detours工作原理 4、Detours应用场景 5、Detours兼容性 6、Detours具体使用方法 7、Detours使用实例 - 使用Detours拦截系统库中的UnhandledExceptionFilter接口&#xff0c;实现对程序异常的拦截 C软件异常排查从入门到精通…

VMware虚拟机下安装Ubuntu22.04以及汉化配置保姆级教程

目录 一.VMware和Ubuntu下载 二.在VMware中创建Ubuntu 1.点击 创建新的虚拟机 2.选择典型 3.选择Ubuntu镜像包&#xff08;自定义存放的位置&#xff09; 4.创建个人信息&#xff08;密码一定要牢记&#xff09; 5.选择虚拟机的安装位置 6.其他配置项&#xff08;默认下…

Unity Obfuscator 使用说明

一、Assembly - Settings 1. 核心Unity程序集&#xff08;Assembly-CSharp&#xff09; Obfuscate Assembly-CSharp: 开启 这是Unity的核心程序集&#xff0c;所有没有存储在程序集定义文件&#xff08;assembly definition file&#xff09;中的代码都会被存储在这里。大多数…

C++多态详解

1. 多态的概念 多态就是函数调用的多种形态&#xff0c;使用多态能够使得不同的对象去完成同一件事时&#xff0c;产生不同的动作和结果。 举个栗子&#xff1a;比如买票这个行为&#xff0c;当普通人买票时&#xff0c;是全价买票&#xff1b;学生买票时&#xff0c;是半价买…

yolov5网络初始化问题

当你打印detect层的三个特征层时&#xff0c;发现有三种不同的长和宽&#xff0c;如下图所示&#xff1a; 我提出三个问题&#xff1a; 为什么不一样呢&#xff0c;输入有什么含义吗&#xff1f; 为什么网络初始化四次&#xff08;forward)&#xff1f; 下面来逐个击破 1. torc…