clickhouse学习之路----clickhouse的特点及安装

clickhouse学习笔记

反正都有学不完的技术,不如就学一学clickhouse吧


文章目录

  • clickhouse学习笔记
  • clickhouse的特点
    • 1.列式存储
    • 2. DBMS 的功能
    • 3.多样化引擎
    • 4.高吞吐写入能力
    • 5.数据分区与线程级并行
  • clickhouse安装
    • 1.关闭防火墙
    • 2.CentOS 取消打开文件数限制
    • 3.安装依赖
    • 4. CentOS 取消 SELINUX
    • 5.上传文件
    • 5.安装
    • 6.修改配置文件
    • 7.启动服务
    • 8.client 连接 server


clickhouse的特点

1.列式存储

以下面表为例

idnameage
1张三18
2李四22
3王五30

1.采用行式存储时,数据在磁盘上的组织结构为
在这里插入图片描述
2.采用列式存储时,数据在磁盘上的组织结构为1
在这里插入图片描述
显而易见的优点是:
1)对于列的聚合,计数,求和等统计操作原因优于行式存储。
2)由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重。
3)由于数据压缩比更好,一方面节省了磁盘空间,另一方面对于 cache 也有了更大的发挥空间。

2. DBMS 的功能

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

3.多样化引擎

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

4.高吞吐写入能力

ClickHouse 采用类 LSM Tree的结构,数据写入后定期在后台 Compaction。通过类 LSM tree的结构,ClickHouse 在数据导入时全部是顺序 append 写,写入后数据段不可更改,在后台compaction 时也是多个段 merge sort 后顺序写回磁盘。顺序写的特性,充分利用了磁盘的吞吐能力,即便在 HDD 上也有着优异的写入性能。
官方公开 benchmark 测试显示能够达到 50MB-200MB/s 的写入吞吐能力,按照每行100Byte 估算,大约相当于 50W-200W 条/s 的写入速度。

5.数据分区与线程级并行

ClickHouse 将数据划分为多个 partition,每个 partition 再进一步划分为多个 index granularity(索引粒度),然后通过多个 CPU核心分别处理其中的一部分来实现并行数据处理。在这种设计下,单条 Query 就能利用整机所有 CPU。极致的并行处理能力,极大的降低了查询延时。
所以,ClickHouse 即使对于大量数据的查询也能够化整为零平行处理。但是有一个弊端就是对于单条查询使用多 cpu,就不利于同时并发多条查询。所以对于高 qps 的查询业务,ClickHouse 并不是强项。

clickhouse安装

此安装为虚拟机安装

1.关闭防火墙

关闭防火墙:systemctl stopfirewalld
禁用防火墙:systemctl disabled firewalld
查看防火墙状态:systemctl status firewalld

在这里插入图片描述

2.CentOS 取消打开文件数限制

列出所有的参数选项 ulimt -a

在这里插入图片描述
ulimit的作用:
假设一台机器现在有10人登陆,在系统资源没有限制的情况下,一个人又打开500个文件,每个文件有10m,那这个时候系统内存的资源就收到严重的挑战
而实际应用的环境要比这种假设复杂的多,例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述符的数量,分配堆栈的大小,CPU 时间,虚拟内存大小,等等,都有非常严格的要求。资源的合理限制和分配,不仅仅是保证系统可用性的必要条件,也与系统上软件运行的性能有着密不可分的联系。这时,ulimit 可以起到很大的作用,它是一种简单并且有效的实现资源限制的方式。
常用参数:

ulimit -a 列出所有的参数选项
ulimit -H 设置硬件资源限制
ulimit -S 设置软件资源限制
ulimit -n 设置应许打开文件数

格式:

domain:可以是用户或者用户组 *代表所有
type:可以有两个值,soft 和 hard
item:表示要限定的资源 可以有很多候选值,如 stack(最大堆栈大小),cpu(占用cpu的时间),nofile(最大打开文件数),nproc(最大开的进程数)
例:* hard nofile 100 该行配置语句限定了任意用户所能创建的最大文件数是 100。

修改ulimit参数,配置文件是:/etc/security/limits.conf
[root@hadoop ~]# sudo vim /etc/security/limits.conf

在这里插入图片描述

[root@hadoop ~]# sudo vim /etc/security/limits.d/20-nproc.conf
可能会覆盖/etc/security/limits.conf,所以在该文件中也配置一份

在这里插入图片描述

3.安装依赖

[root@hadoop ~]# yum install -y libtool
[root@hadoop ~]# yum install -y *unixODBC*

4. CentOS 取消 SELINUX

[root@hadoop ~]# vim /etc/selinux/config
SELINUX=disabled

在这里插入图片描述
查看是否生效
因为没有重启,所以默认是生效的
在这里插入图片描述
若在生产环境中需要改变状态,则可以启用临时生效
假设状态为开,可以临时关闭。若现状态为关,想要开启必须重启!

setenforce 0 # 0表示关闭 1 表示开启

上述安装前工作准备好之后,虚拟机重启
官网下载安装包这里选择手动下载安装
链接: https://packages.clickhouse.com/rpm/stable/

5.上传文件

在/opt/install目录下创建ck文件夹来存放clickhouse四个安装包
在这里插入图片描述
将安装包上传至/opt/install/ck
在这里插入图片描述

5.安装

切换目录至opt/install/ck下安装

[root@hadoop ck]# sudo rpm -ivh *.rpm

在这里插入图片描述

6.修改配置文件

[root@hadoop ck]# vim /etc/clickhouse-server/config.xml 
使用 /isten 来查找关键字
将<listen_host>::</listen_host> 的注释打开,这样的话才能让ClickHouse 被除本机以外的服务器访问

在这里插入图片描述

7.启动服务

[root@hadoop ck]# systemctl start clickhouse-server
[root@hadoop ck]# ps -ef|grep clickhouse #查看进程

在这里插入图片描述

8.client 连接 server

[root@hadoop ck]# clickhouse-client --password 

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

一台PoE交换机可以为多少个设备提供供电?

如今在安防监控领域&#xff0c;许多网络设备都支持PoE供电。在网络监控工程中&#xff0c;为了节省布线成本并提高便捷性&#xff0c;大多数工程商选择使用PoE供电方案&#xff0c;也就是使用PoE交换机为监控摄像头提供电力。那么&#xff0c;一台功率输出以太网&#xff08;P…

【C++】STL之适配器---用deque实现栈和队列

目录 前言 一、deque 1、deque 的原理介绍 2、deque 的底层结构 3、deque 的迭代器 4、deque 的优缺点 4.1、优点 4.2、缺点 二、stack 的介绍和使用 1、stack 的介绍 2、stack 的使用 3、stack 的模拟实现 三、queue 的介绍和使用 1、queue 的介绍 2、queue 的使用 3、qu…

八股文死记硬背打脸记

背景 我们都知道&#xff0c;再编程领域数据结构的重要性&#xff0c;常见的数据结构包括 List、Set、Map、Queue、Tree、Graph、Stack 等&#xff0c;其中 List、Set、Map、Queue 可以从广义上统称为集合类数据结构。而Java也提供了很多的集合数据结构以供开发者开箱即用&…

IC芯片测试:如何对芯片静态功耗进行测试?

静态功耗也叫静态电流&#xff0c;是指芯片在静止状态下的电流或者是指芯片在不受外界因素影响下自身所消耗的电流。静态功耗对于芯片来说是衡量一款芯片的功耗与效率非常重要的指标。 传统手动测试静态功耗只需在芯片的输入端串上一台万用表&#xff0c;然后对芯片各个端口添加…

html学习综合案例1

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>个人简介</title> </head> <body>…

python每日一题(模拟用户登录验证)

1、题目 预先设定正确用户名与密码&#xff0c;用来验证用户是否登录成功。 第一次&#xff1a; ① 输入用户名与密码&#xff0c;如果用户名与密码正确&#xff0c;则提示登录成功&#xff1b; ② 如果用户名错误&#xff08;不管密码是否正确&#xff09;&#xff0c;则需要重…

day02_环境_基础

今日内容 邱世举 - 邱哥 零、复习昨日 一、上课软件 二、GPT 三、Java是个啥 四、安装JDK 五、HelloWorld程序[重点] 六、编码规范 附录: 单词 零、 复习昨日 一、常用软件 看视频 PotPlayer 轻便,无级变速 内网通 局域网,聊天办公,传资料 notepad notepad 升级版记事本,看代码…

计算机网络常见问题

1.谈一谈对OSI七层模型和TCP/IP四层模型的理解&#xff1f; 1.1.为什么要分层&#xff1f; 在计算机中网络是个复杂的系统&#xff0c;不同的网络与网络之间由于协议&#xff0c;设备&#xff0c;软件等各种原因在协调和通讯时容易产生各种各样的问题。例如&#xff1a;各物流…

技术分享| anyRTC音视频混流技术解析

一&#xff0c;简介 在视频通讯场景中&#xff0c;比如会议、直播等经常能看到图像合成的场景。图像合成是在指定的一块画面区域&#xff0c;在这个区域内&#xff0c;按画面的位置(坐标)布局&#xff0c;将区域中的每个视频画面的像素混合计算成一个像素&#xff08;RGB&…

【Linux基础】第29讲 Linux用户和用户组权限控制命令(一)

1 useradd 添加新用户 &#xff08;注意&#xff1a;当前用户必须有添加用户的权限&#xff09; 1&#xff09;基本语法 useradd 用户名&#xff08;功能描述&#xff1a;添加新用户&#xff09; 2&#xff09;案例 rootsue-virtual-machine:/usr/local# useradd hadoop 2 …

Python线程和进程

1、深度解析Python线程和进程 一篇文章带你深度解析Python线程和进程 - 知乎使用Python中的线程模块&#xff0c;能够同时运行程序的不同部分&#xff0c;并简化设计。如果你已经入门Python&#xff0c;并且想用线程来提升程序运行速度的话&#xff0c;希望这篇教程会对你有所帮…

安装Anaconda与pytorch,在IDEA中配置环境进行编程

1.官网下载与自己python版本匹配的Anaconda(注意&#xff0c;要想成功安装pytorch&#xff0c;python版本也要对应pytorch的相关版本) Anaconda官网最新版本 与自己python版本不否请查找自己版本anaconda版本对应 清华大学镜像下载 2.安装时勾选添加环境变量或者手动添加&am…

Unity丨自动巡航丨自动寻路丨NPC丨

文章目录 概要功能展示技术细节小结 概要 提示&#xff1a;这里可以添加技术概要 本文功能是制作一个简单的自动巡逻的NPC&#xff0c;随机自动寻路。 功能展示 技术细节 using UnityEngine;public class NPCController : MonoBehaviour {public float moveSpeed 5.0f; // …

【验证码逆向专栏】螺丝帽人机验证逆向分析

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 本文章未…

Springboot 集成 Ehcache操作数据库显示SQL语句设置

Springboot 集成 Ehcache操作数据库显示SQL语句设置 2023-09-13 23:33:35.030 INFO 6124 --- [ task-1] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2023-09-13 23:33:35.124 INFO 6124 --- [ …

几个国内可用的强大的GPT工具

前言&#xff1a; 人工智能发布至今&#xff0c;过去了九个多月&#xff0c;已经成为了我们不管是工作还是生活中一个重要的辅助工具&#xff0c;大大提升了效率&#xff0c;作为一个人工智能的自然语言处理工具&#xff0c;它给各大行业的提供了一个巨大的生产工具&#xff0c…

2023华为杯研究生数学建模C题分析

完整的分析查看文末名片获取&#xff01; 问题一 在每个评审阶段&#xff0c;作品通常都是随机分发的&#xff0c;每份作品需要多位评委独立评审。为了增加不同评审专家所给成绩之间的可比性&#xff0c;不同专家评审的作品集合之间应有一些交集。但有的交集大了&#xff0c;则…

图像处理软件Photoshop 2024 mac新增功能

Photoshop 2024 mac是一款图像处理软件的最新版本。ps2024提供了丰富的功能和工具&#xff0c;使用户能够对照片、插图、图形等进行精确的编辑和设计。 Photoshop 2024 mac软件特点 快速性能&#xff1a;Photoshop 2024 提供了更快的渲染速度和更高效的处理能力&#xff0c;让用…

将本地前端工程中的npm依赖上传到Nexus

【问题背景】 用Nexus搭建了内网的依赖仓库&#xff0c;需要将前端工程中node_modules中的依赖上传到Nexus上&#xff0c;但是node_modules中的依赖已经是解压后的状态&#xff0c;如果直接机械地将其简单地打包上传到Nexus&#xff0c;那么无法通过npm install下载使用。故有…

人人皆知的人工智能真的稳定吗?它的发展前景如何?

在当今社会&#xff0c;每个人都知道并且使用过人工智能产品&#xff0c;那么大家习以为常的人工智能真的稳定吗&#xff1f;它的发展前景又会是如何呢&#xff1f; 人工智能就是基于计算机技术理解和分析人类智能的本质&#xff0c;通过智能分析来模仿和学习人类动作用来服务…