文章目录
一、Hadoop是什么?
Hadoop是一个大数据的分布式存储和计算平台
往大了说Hadoop是大数据的生态圈,往小了说Hadoop就是一个框架
二、Hadoop包含什么?
2.1.HDFS-分布式数据存储系统
包含NameNode,DataNode,SecondaryNameNode
后续会详细说明
2.2.Yarn-任务调度,资源分配
包含ResourceManager,NodeManager,ApplicationMaster,Container
2.3.MapReduce-分布式计算框架
包含JobTracker,TaskTracker,Task
三、Hadoop的特点
1.扩容能力强,集群由多个节点组成,可以由一个节点迅速的扩展至多个节点
2.低成本,Hadoop可以基于廉价的服务器集群,且能处理海量的数据
3.高效率,节点之间传输数据迅速
4.可靠性,节点与节点之间可以进行数据备份
四、Hadoop各个版本的异同
0.X版本,最早的开源版本,基本没有企业使用
1.X版本,修复0.X版本中的Bug,无特别的变动
2.X版本,引入任务调度框架Yarn,默认块大小由64M修改为128M,也是企业用的最多的一个版本
3.X版本,EC技术,Yarn的时间轴服务等,用的企业较少
五、HDFS常见面试题
5.1.NN,DN,SN的作用分别是什么
NN:NameNode,用来管理文件的元数据,监控DN,和DN保持心跳
DN:DataNode,真正存储数据的
SN:定期合并镜像文件和日志文件,减少DN的启动时间
5.2.HDFS读流程
1.客户端Client向NM发起读取文件的请求
2.NM收到请求去自身维护的元数据中查询客户端要读取的文件
3.如果有,NM返回给客户端信息,客户端接收到后去DN上请求读取数据
4.DN收到请求后和客户端建立传输连接,并将数据返回直至数据传输结束
5.3.HDFS写(上传)流程
1.客户端clinet向NM发起上传文件的请求,NM收到请求后查询自身维护的元数据,看上传的文件是否已经存在,如果不存在,返回给客户端可以上传文件的请求,并告知客户端具体的DN
2.客户端收到请求后进行文件的切割,与DN建立传输连接,开始传输到一个块文件
3.与第一个DN传输完毕后,第一个DN会横向的和另外一个DN建立连接开始进行数据备份,直到所有的DN都有该份数据
4.重复以上步骤直到所有的数据都传输完毕为止
5.4.SecondaryNameNode的工作机制
SecondaryNameNode的主要作用是帮助NM定期的进行镜像文件和日志的合并,从而减少NM的启动时间,同时也能进行数据的备份操作
具体的流程如下;
1.SN从NM处拷贝已经存在的镜像文件和日志文件
2.拷贝完毕后加载到内存进行合并,合并为新的Fsimage.ckpt
3.将合并好的文件发送给NM,重新命名并替换原有的Fsimage
如有错误请指出,未完待续