欢迎来到天天文库
浏览记录
ID:56044091
大小:208.50 KB
页数:9页
时间:2020-06-19
《Hadoop分布式文件系统:架构和设计.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Hadoop分布式文件系统:架构和设计引言2一前提和设计目标21hadoop和云计算的关系22流式数据访问23大规模数据集24简单的一致性模型35异构软硬件平台间的可移植性36硬件错误3二HDFS重要名词解释31Namenode42secondaryNamenode53Datanode64jobTracker65TaskTracker6三HDFS数据存储71HDFS数据存储特点72心跳机制73副本存放74副本选择75安全模式8四HDFS数据健壮性81磁盘数据错误,心跳检测和重新复制82集群均衡83数据完整性84元数据磁盘错误85快照
2、9引言云计算(cloudcomputing),由位于网络上的一组服务器把其计算、存储、数据等资源以服务的形式提供给请求者以完成信息处理任务的方法和过程。在此过程中被服务者只是提供需求并获取服务结果,对于需求被服务的过程并不知情。同时服务者以最优利用的方式动态地把资源分配给众多的服务请求者,以求达到最大效益。Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度
3、容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。一前提和设计目标1hadoop和云计算的关系云计算由位于网络上的一组服务器把其计算、存储、数据等资源以服务的形式提供给请求者以完成信息处理任务的方法和过程。针对海量文本数据处理,为实现快速文本处理响应,缩短海量数据为辅助决策提供服务的时间,基于Hadoop云计算平台,建立HDFS分布式文件系统存储海量文本数据集,通过文本词频利用MapReduce原理建立分布式索引,以分布式数据库HBase存储关键词索引,并提供实时检索,实现对海量文
4、本数据的分布式并行处理.实验结果表明,Hadoop框架为大规模数据的分布式并行处理提供了很好的解决方案。2流式数据访问运行在HDFS上的应用和普通的应用不同,需要流式访问它们的数据集。HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。比之数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。3大规模数据集运行在HDFS上的应用具有很大的数据集。HDFS上的一个典型文件大小一般都在G字节至T字节。因此,HDFS被调节以支持大文件存储。它应该能提供整体上高的数据传输带宽,能在一个集群里扩展到数百个节点。一个单一的HDFS实例
5、应该能支撑数以千万计的文件。4简单的一致性模型HDFS应用需要一个“一次写入多次读取”的文件访问模型。一个文件经过创建、写入和关闭之后就不需要改变。这一假设简化了数据一致性问题,并且使高吞吐量的数据访问成为可能。Map/Reduce应用或者网络爬虫应用都非常适合这个模型。目前还有计划在将来扩充这个模型,使之支持文件的附加写操作。5异构软硬件平台间的可移植性HDFS在设计的时候就考虑到平台的可移植性。这种特性方便了HDFS作为大规模数据应用平台的推广。6硬件错误硬件错误是常态而不是异常。HDFS可能由成百上千的服务器所构成,每个服务器
6、上存储着文件系统的部分数据。我们面对的现实是构成系统的组件数目是巨大的,而且任一组件都有可能失效,这意味着总是有一部分HDFS的组件是不工作的。因此错误检测和快速、自动的恢复是HDFS最核心的架构目标。二HDFS重要名词解释HDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件
7、系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上。Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode节点的映射。Datanode负责处理文件系统客户端的读写请求。在Namenode的统一调度下进行数据块的创建、删除和复制。集群中单一Namenode的结构大大简化了系统的架构。Namenode是所有HDFS元数据的仲裁者和管理者,这样,用户数据永远不会流过Namenode。1Namen
8、ode(1)HDFS的守护程序。(2)记录文件时如何分割成数据块的,以及这些数据块被存数到那些借点上。(3)对内存和I/O进行集中管理(4)namenode是单个节点,发生故障将使集群崩溃。2secondaryNamenode(1)监
此文档下载收益归作者所有