西河刘卡车医 发表于 2024-12-13 02:27:03

大数据HCIA条记1

概述

https://i-blog.csdnimg.cn/direct/e181bdcbc36e4c649d799376ea348c04.png
当下主流的流计算使用Flink

Hadoop

https://i-blog.csdnimg.cn/direct/33eb4dd0f67b4b7d999c2a57cad84c1e.png
https://i-blog.csdnimg.cn/direct/e0b9e06e6d8341e8a928ddb360159de3.png
Hadoop的焦点组件:HDFS(分布式文件系统)、Yarn(资源调理)、MapReduce(批量计算引擎)

HDFS

HDFS -- Hadoop Distributed File System
https://i-blog.csdnimg.cn/direct/79c98fc84dd64df69e742fbd043fb3f3.png
HDFS焦点进程(组件):NameNode,DataNode
NameNode:名称节点 主要存放元数据 eg文件的名称 路径 大小 副本数量 权限 所属用户等
DataNode:数据节点 存放数据本身 打开文件看到的内容
https://i-blog.csdnimg.cn/direct/dbf9556941e44cdd861c47e78b891dd7.png

https://i-blog.csdnimg.cn/direct/79954fe670ef41d7bf525ee20d395740.png随着操作次数的增加,Editlog占用的存储空间会越来越大,为了保证元数据不丢失,Editlog和FsImage会定期合并

https://i-blog.csdnimg.cn/direct/557205121f144369a2f35b61ae9b3f25.png元数据既生存在内存中也在磁盘中 HDFS服务启动后会把磁盘中的元数据加载到内存中

https://i-blog.csdnimg.cn/direct/c41902aabee34b598fabe82e63360fe7.png
200MB的文件,在HDFS中通过两个block块[抽象的块]生存。每个block都是128MB
第一个块:128MB
第二个块:也是128MB 固然block显示128MB,其实只会占用真实大小,也就是72MB
硬盘容量1T,但是实际能用的没有这么多,block id、datanode都会占用存储空间

https://i-blog.csdnimg.cn/direct/1dbb71903d7543e790a2a707220c85d0.png
单节点容易出现单点故障,企业一般用HA(会用到zookeeper)

元数据持久化:为了保证内存的元数据不丢失,会定时将内存的元数据生存到磁盘对应路径

HDFS联邦(Federation):为相识决nn横向扩展能力 因为nn生存了许多元数据,但是nn的内存是有限的,为了能够存放更多的元数据,因此使用联邦机制
https://i-blog.csdnimg.cn/direct/872c892f9acc4ad28ffced86021b8031.png
服务器数量更多,应用于超大规模的数据场景 各nn负责自己所属目录(与Linux挂载磁盘到目录类似),各nn间元数据不共享,每个nn都有对应的standby
对客户端来说无感知

HA和联邦的关系
https://i-blog.csdnimg.cn/direct/7c147e843f874f319bf9948734c20cbf.png

数据副本机制:为了保证数据不丢失
https://i-blog.csdnimg.cn/direct/5388e7a506a74bb8a413fdffddf20ad0.png
数据很重要就多备份,但都备份到一个地方和没做一样(上图3个机架15台服务器)
上图反映的HDFS副本根本策略是:
第一个副本存放在与客户端最近的节点(服务器)
第二个副本存放在与客户端相邻机架的任意一个节点
第三个副本存放在与客户端相同机架的任意一个节点
其他的副本根据节点的容量任意存放
数据存储分为:会合式存储,分布式存储
会合式存储主要通过raid技能,保证数据安全性
分布式存储主要通过block块存储的方式保证数据安全性

一个文件200MB,由两个块组成,一个block128MB,另一个72MB(逻辑大小128),那么每一个块都会有4个副本
当设定文件的副本数量是4个时,如果有一个或多个副本出现破坏,HDFS能够定时监控到,并将缺失的副本数根据副本存放策略举行补充
HDFS通过distance来判断副本距离客户端的远近,为了能更快的访问到需要的数据,所以会判断距离,优先将距离近的数据提供给客户端
https://i-blog.csdnimg.cn/direct/03fdb4f66f88405b9350544a9e116247.png
安全模式:两种情况会出现安全模式
第一种在HDFS启动时,元数据还没有加载到内存中,直到元数据大约有99.98%都乐成加载到内存时,才会退出安全模式
第二种当datanode节点破坏数量变多

在linux操作系统上对HDFS的操作
https://i-blog.csdnimg.cn/direct/9a5d1c93c3394bed977bf7ec868bab56.pngHDFS dfs ..

Zookeeper

分布式协调服务
HA中组件多了两个进程:
JN:及时同步两个namenode元数据信息,保证元数据的一致性
ZKFC:及时监控active namenode状态,当发现active nn出现非常情况,就会将standby nn立刻切换为active状态,对外提供服务
https://i-blog.csdnimg.cn/direct/cde7be39602c407c9ac019c0459998bc.png
启动时推选出leader
https://i-blog.csdnimg.cn/direct/69a229fb79a74bc6b7400d0319dd3aba.png
容灾哪里:不挂一半就没什么问题(发起奇数台 奇偶数容灾能力一样)

HBase

列式数据库 及时相应速度毫秒级
HBase的元数据存储在HBase表中的元数据表(metadata meta表)
及时检索项目一般使用hbase 通过hbase和elasticsearch结合起来实现
https://i-blog.csdnimg.cn/direct/cb1598b8870846a6ab6b37155201a066.png

行列 列族 行键
https://i-blog.csdnimg.cn/direct/84dbf57fa4c84a73bc65f0f0522e6b64.png
key是字典序 查找看key 可以存稀疏数据

https://i-blog.csdnimg.cn/direct/e5876e0c62bd418eb259b4111752410a.png
插入的数据需要指定rowkey info(列族) name(列限定符)

HReginServer中的焦点组件: HLog:预写日志WAL,所有写入hbase的数据都会写入hlog中
memStore:写入内存,hbase在写入数据时,会直接写入到内存,当数据写入到内存乐成就会给客户端返回写入乐成的信息
HRegin:用来生存hbase的数据
store:和列族有对应关系
storeFile(HFile):写入磁盘,将hbase数据写入磁盘,是为了数据持久化,当内存数据占比80%时,会自动启动flush操作,将内存的数据刷入磁盘,刷入乐成后,会将hlog这部分的数据删除

https://i-blog.csdnimg.cn/direct/be08e17d67054633ad7e5606d9802eb8.png
zookeeper帮助推选出一个hmaster(管理用户对表的操作、实现差别hregionserver间的负载均衡、在region分裂或合并后负责重新调整region分布、对发生故障失效的hrs上的r举行迁徙)作为集群的总管,并保证在任何时候总有唯一一个hmaster在运行,这就克制了hmaster的‘单点失效’问题
hregionserver是hbase最焦点的模块,负责存储、维护hregion,处理来自client的读写请求

https://i-blog.csdnimg.cn/direct/deec4ea8f4854e9c9630ec21080eee62.png
按行键索引,搜索很快
拆分策略默认c.. 单region上限10G

热门region(行键的设置策略):
https://i-blog.csdnimg.cn/direct/68dae788fb19445ca9c9c769906149e4.png
Hive

数据分析(数仓)
HDFS分布式文件系统 用于海量数据的存放
HBase列式数据库(no sql)解决了HDFS读写数据较慢的缺点,支持毫秒级别的读写
而Hive作为数据堆栈,仍旧依靠于Hadoop组件,主要作用是数据分析
HDFS中的数据,程序员通过Java编程,编写MapReduce程序举行数据分析,但会编程的工程师占比不高,会sql的相对较高

hive与hadoop之间的关系
https://i-blog.csdnimg.cn/direct/90c03f505d00418eb4943f1bdd75f132.png
hive的元数据与数据是解耦合的,元数据和数据不在一个地方存放
hive的元数据默认生存在derby数据库,derby是一个轻量型的数据库,小到同时只允许一个客服端登录,不得当生产情况,所以使用其他关系型数据库代替derby生存元数据
通常使用MySQL作为hive存放元数据的数据库,hive的元数据有表名,表中数据存放的路径等
https://i-blog.csdnimg.cn/direct/83c8dee9a84947bd9d34283725fe2fe9.png
Hive内部表与外部表的区别:
内部表:在创建时 是create table
在删除表时,表布局和表中数据都会被清除

外部表:在创建时 时create external table
在删除表时,只会删除表布局,表中数据仍旧存在

在加载原始数据时,都会使用外部表 在加载原始数据时使用外部表可以保护数据的完整性和安全性,并提高数据处理的服从
在举行数据分析时,一般使用内部表 在举行数据分析时使用内部表则可以提供更便捷的数据操作、更强的事务支持和更高的数据完整性保障

数仓分层:ODS(original)原始数据层(读取ODS层数据用的都是外部表),DWD(wish)数据清洗层,DWS(server)轻度汇总层,ADS(analysis server)高度汇总层(需求分析 年度 季度汇总 用内部表)

SQL语句分类:
DDL语句 对表,数据库本身的CRUD
DML语句 数据导入导出,将数据导入表中,或将表中的数据导出到HDFS或local
DQL语句 数据查询,select、where、join、group by having、order by、row number()、union等
DCL语句 与授权、安全相关语句,grant、revoke等

Spark

https://i-blog.csdnimg.cn/direct/0f631aa39f974da4a1b98fb528d84873.png
(在华为上只支持spark on Yarn)
现在的项目比力少用MapReduce了,多用Spark处理离线,用Flink处理及时(Flink流批一体)
spark(原生语言scale 执行服从最快)是一种基于内存的快速、通用、可扩展的大数据计算引擎(MapReduce基于磁盘)
目前用的比力多的是批处理(RDD弹性分布式数据集 并行只读),交互式查询(SQL、DataFrames、Datasets)

spark打造了一站式解决平台,包含了 批处理、及时处理、图处理、机器学习
批处理 spark core,它的焦点概念就是RDD,RDD是不可变的,能够平行计算,因此比常量的服从高。要举行数据分析时,都需要先将数据转换成RDD,spark实现了一些方式 将数据转换为rdd,eg通过txtfile可以将hadoop读取的数据转换为rdd,可以将数组array、列表list、元组tuple、集合collection转换为rdd举行计算

及时处理,从前是spark streaming,现在是被structured streaming替代,因为spark streaming的及时设计理念是批处理,服从不高,已经停止运维

图计算,spark用于图和图并行计算的一个新组件 在高条理上,GraphX通过引入一个新的图抽象扩展spark rdd(一个有向多图 有向多图是指一个图中可以包含多个方向相同的边,即从同一个起点到同一个终点可以有多条边。这种图在形貌某些复杂关系时非常有效,比如社交网络中的朋友关系、交通网络中的门路等),其属性附加到每个顶点和边上

交互式查询spark sql,通过sql情势举行计算和分析,类似于Hive;能够毗连Hive大概HBase,直接读取它们的数据,举行计算 焦点是DataFrames

MLlib是spark的机器学习库,目的是使机器学习具有可扩展性和简朴性,在高条理上提供了算法库、特征化、pipeline、持久性和实用程序等工具

https://i-blog.csdnimg.cn/direct/7f1cd0d70ec3463394140e9cba12f0bc.png
daytona gray 软件排序基准规则

spark比mr快的缘故原由:
spark基于内存存放数据,比磁盘快
spark的数据都在rdd,rdd是只读、并行的 数据不可变 服从会提拔
血统机制 rdd之间有依靠机制 当某个rd出现故障,并不需要从头对这个rdd举行计算,只需要从上一个rdd开始计算即可
spark使命在执行前,会分别stage,相称于提前做规划,知道哪些部分可以同时执行,哪些部分需要串行执行 并行的部分会提高服从(涉及宽窄依靠)

stage的分别:
窄依靠:一对一
宽依靠:一对多

ClickHouse

https://i-blog.csdnimg.cn/direct/06ac593fae0f4d85913fb001e83bc818.png
https://i-blog.csdnimg.cn/direct/8912221dfea04723be3e36f6f6646bc9.png


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 大数据HCIA条记1