2024-01-30(Hadoop_HDFS)

1.什么是大数据

狭义(技术思维):使用分布式技术完成海量数据的处理,得到数据背后蕴含的价值。

广义:大数据是数字化时代,信息化时代的基础(技术)支撑,以数据为生活赋能。

大数据的核心工作:从海量的高增长、多类别、低信息密度的数据中挖掘出高质量的结果。(海量数据存储、海量数据传输、海量数据计算)

2.大数据的核心工作

存储:妥善保存海量待处理数据

计算:完成海量数据的价值挖掘

传输:协助各个环节的数据传输

3.大数据的生态

存储:Apache Hadoop HDFS、Apache HBase、Apache Kudu、云平台

计算:Apache Hadoop MapReduce、Apache Spark、Apache Flink

传输:Apache Kafka、Apache Pulsar、Apache Flume、Apache Sqoop

4.海量数据的分布式存储

数据量太大,单机存储能力有上限,需要靠服务器数量来解决问题

数量的提升带来的是网络传输、磁盘读写、CPU、内存等各方面的综合提升。分布式存储的组合可以达到1+1>2的效果。

5.Hadoop是由三大组件组成的:

HDFS组件(分布式存储),MapReduce组件(分布式计算),YARN组件(分布式调度)。

6.HDFS是Hadoop技术栈提供的f分布式数据存储解决方案,可以在多台服务器上构建存储集群,存储海量的数据。HDFS数据存储集群采用主从模式架构(中心化模式架构)

NameNode:主角色,负责管理HDFS集群和DataNode角色

DataNode角色:从角色,负责数据的存储

SecondaryNameNode:辅助角色,负责协助NameNode整理元数据

7.HDFS和Linux系统一样,均是以/作为根目录的组织形式。

8.HDFS和Linux系统中的命令也很类似。

9.HDFS文件系统中的文件只能删除和追加,不能修改。

10.什么是NFS:

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 (通俗的说**:** NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利。)

11.HDFS分布式文件存储原理:

每个服务器(节点)存储文件的一部分。

12.block块:设定的HDFS服务器统一的管理单位,每个256MB(支持修改:配置文件中修改)

13.解决block块丢失的问题:

在其他服务器上进行备份。这样某一台服务器的某个block丢失了,可以从其他服务器上复制备份过来。

14.fsck命令查看文件的信息,例如该文件的副本数量和副本路径。

15.NameNode是如何管理Block块的:

edits文件,是一个流水账文件,记录了hdfs中每一次操作,以及本次操作影响的文件其对应的block。

FSImage文件:就是全部的edits文件合并后的结果。(我只要edits文件的最终状态,中间的操作流水账我不关心)

so,NameNode元数据管理维护步骤

1.每次对HDFS的操作,均被edits记录

2.edits达到大小上限后,开启新的edits记录

3.定期进行edits的合并操作

(1)如果当前没有fsimage文件,将全部edits合并为第一个fsimage

(2)如果当前已经存在fsimage文件,将全部edits和已存在的fsimage进行合并,形成新的fsimage文件

4.重复1,2,3步骤

16.edits和fsimage文件中元数据的合并要么基于时间要么基于事务数,二者达到其一就触发合并操作。

17.SecondaryNameNode就是来做元数据的合并操作的,合并好了给NameNode操作。NameNode来写edits文件。

18.客户端在HDFS上写数据的流程:

1.客户端想NameNode发起请求

2.NameNode审核权限,剩余空间后,满足条件允许写入,并告知客户端写入的DataNode地址

3.客户端向指定的DataNode发送数据包

4.被写入数据的DataNode同时完成数据副本的复制工作

5.如下图,DataNode1复制给DataNode2,然后基于DataNode2复制给DataNode3和DataNode4

6.写入完成客户端通知NameNode,NameNode做元数据记录工作。

关键信息:

a.NameNode不负责数据的写入,只负责元数据记录和权限审批

b.客户端直接向一台DataNode写数据。这个DataNode一般是**离客户端最近(网络距离)**的那个

c.数据块副本的复制工作,由DataNode之间自行完成(构建一个pipeline,按照顺序复制分发)

19.客户端在HDFS上读数据的流程:

1.客户端向NameNode申请读取某文件

2.NameNode判断客户端权限等细节后,允许读取,并返回此文件的block列表

3.客户端拿到block列表后自行寻找DataNode读取即可。

注意点:

1.数据同样不通过NameNode提供

2.NameNode提供的blockl列表,会基于网络距离计算尽量提供离客户端最近的。

20.为什么需要分布式计算:

因为数据量太大了,硬件性能不够,用数量来弥补。

21.分布式计算常见的两种工作模式:

分散->汇总(MapReduce就是这种模式)

中心调度->步骤执行(大数据体系的Spark,Flink等是这种模式)

相关推荐
地球资源数据云20 分钟前
1900-2023年中国物种分布点位矢量数据集
大数据·数据结构·数据库·数据仓库·人工智能
菜鸟小码22 分钟前
MapReduce 真正的核心之Shuffle 阶段深度解析:分区、排序、合并与归约
大数据·mapreduce
Vwms40 分钟前
2026 医药制造 WMS 选型指南:GMP 合规仓储管理系统怎么选
大数据·wms·wms选型
精益数智工坊1 小时前
拆解制造业仓库物料管理流程:如何通过标准化仓库物料管理流程解决账实不符难题
大数据·前端·数据库·人工智能·精益工程
GUET_一路向前1 小时前
【git工作常用指令】
大数据·git·elasticsearch
烟台业荣数据科技有限公司1 小时前
智能建造:从“能做”到“值得做”,我们还需跨越什么?
大数据·人工智能
学掌门1 小时前
数据分析师初级—中级—高级,每个阶段都需要学习什么?
大数据·学习·数据分析·数据分析师
财迅通Ai1 小时前
满坤科技:业绩稳健增长,ESG治理成效凸显
大数据·人工智能·科技·满坤科技
天天爱吃肉82182 小时前
场地整车在环仿真测试系统及总线注入研究|新能源智驾研发硬核干货
大数据·人工智能·功能测试·嵌入式硬件·汽车
YaBingSec2 小时前
玄机网络安全靶场:Hadoop YARN ResourceManager 未授权 RCE WP
大数据·数据库·hadoop·redis·笔记·分布式·web安全