一、Hadoop教程之基础入门讲解(详细) 基金理财攻略详细讲解视频教程
Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。 主要解决,海量数据的存储和海量数据的分析计算问题。 Hadoop框架中最核心设计就是:HDFS和MapReduce,HDFS实现存储,而MapReduce实现原理分析处理。 广义上来说,Hadoop 通常是指一个更广泛的概念 —— Hadoop 生态圈。
1、HDFS文件系统HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),它是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集(largedata set)的应用程序。
(1)HDFS的设计特点: 1、大数据文件,非常适合上T级别的大文件或者一堆大数据文件的存储。2、文件分块存储,HDFS会将一个完整的大文件平均分块存储到不同计算器上,它的意义在于读取文件时可以同时从多个主机取不同区块的文件,多主机读取比单主机读取效率要高得多。3、流式数据访问,一次写入多次读写,这种模式跟传统文件不同,它不支持动态改变文件内容,而是要求让文件一次写入就不做变化,要变化也只能在文件末添加内容。4、廉价硬件,HDFS可以应用在普通PC机上,这种机制能够让给一些公司用几十台廉价的计算机就可以撑起一个大数据集群。5、硬件故障,HDFS认为所有计算机都可能会出问题,为了防止某个主机失效读取不到该主机的块文件,它将同一个文件块副本分配到其它某几个主机上,如果其中一台主机失效,可以迅速找另一块副本取文件。 (2)HDFS的master/slave构架:一个HDFS集群是有一个Namenode和一定数目的Datanode组成。Namenode是一个中心服务器,负责管理文件系统的namespace和客户端对文件的访问。Datanode在集群中一般是一个节点一个,负责管理节点上它们附带的存储。在内部,一个文件其实分成一个或多个block,这些block存储在Datanode集合里。Namenode执行文件系统的namespace操作,例如打开、关闭、重命名文件和目录,同时决定block到具体Datanode节点的映射。Datanode在Namenode的指挥下进行block的创建、删除和复制。Namenode和Datanode都是设计成可以跑在普通的廉价的运行linux的机器上。
(3)HDFS的实现思路(根据个人理解绘制):1、Block:将一个文件进行分块,通常是64M。2、NameNode:保存整个文件系统的目录信息、文件信息及分块信息,这是由唯一一台主机专门保存,当然这台主机如果出错,NameNode就失效了。在Hadoop2.*开始支持activity-standy模式----如果主NameNode失效,启动备用主机运行NameNode。3、DataNode:分布在廉价的计算机上,用于存储Block块文件。
Namenode全权管理数据块的复制,它周期性地从集群中的每个Datanode接收心跳信号和块状态报告(Blockreport)。接收到心跳信号意味着该Datanode节点工作正常。块状态报告包含了一个该Datanode上所有数据块的列表。
(4)HDFS的写入原理(根据个人理解绘制): 步骤1:客户端向NamaNode发送“上传文件a.txt到根目录/下”的请求;步骤2:NamaNode检测文件系统目录树是否已经存在同名文件;步骤3:NamaNode返回是否允许上传的命令给客户端;步骤4:客户端接到允许命令后,向NamaNode发送“请求上传文件a.txt的切片”;步骤5:NamaNode检测DataNode信息池中,可用的DataNode的ip地址;步骤6:NamaNode返回可用的DataNode的ip地址(返回的地址按照网络扩扑上距离来排序,离客户端最近的排在最前面);步骤7:客户端向DataNode尝试建立连接,请求数据传输;步骤8:建立pipeline完毕;步骤9:建立数据传输的stream;步骤10:传输数据。 2、MapReduce文件系统MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。MapReduce将分成两个部分"Map(映射)“和"Reduce(归约)”。
当你向MapReduce框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map任务,然后分配到不同的节点上去执行,每一个Map任务处理输入数据中的一部分,当Map任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce任务的输入数据。Reduce任务的主要目标就是把前面若干个Map的输出汇总到一起并输出。
(1)MapReduce实现思路(根据个人理解绘制):MapReduce实现思路的个人理解后续更新.......
如果感觉有帮助,请“点赞”、“关注”、“收藏”哈!
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。