欢迎来到天天文库
浏览记录
ID:21497378
大小:26.00 KB
页数:6页
时间:2018-10-22
《基于hadoop的分布式文件系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Hadoop的分布式文件系统 摘要HDFS是Hadoop应用用到的一个最主要的分布式存储系统,Hadoop分布式文件系统具有方便、健壮、可扩展性、容错性能好、操作简单、成本低廉等许多优势。。深入了解HDFS的工作原理对在特定集群上改进HDFS的运行性能和错误诊断都有极大的帮助。本文介绍了HDFS的主要设计理念、主要概念及其高可靠性的实现等。 【关键词】Hadoop分布式文件系统 Hadoop是新一代的大数据处理平台,在近十年中已成为大数据革命的中心,它不仅仅承担存储海量数据,还通过分析从中获取有价值信息。进行海
2、量计算需要一个稳定的,安全的数据容器,管理网络中跨多台计算机存储的文件系统称为分布式文件系统。Hadoop分布式文件系统(HadoopDistributedFileSystem)运应而生,它是Hadoop的底层实现部分,存储Hadoop集群中所有存储节点上的文件。 1HDFS的设计理念 面对存储超大文件,Hadoop分布式文件系统采用了流式数据访问模式。所谓流式数据,简单的说就是像流水一样,数据一点一点“流”过来,处理数据也是一点一点处理。如果是全部收到数据以后再进行处理,那么延迟会很大,而且会消耗大量计算机内存。
3、 1.1存储超大文件 这里的“超大文件”通常达到几百GB甚至达到TB大小的文件。像大型的应用系统,其存储超过PB级数据的Hadoop集群比比皆是。 1.2数据访问模式 最高效的访问模式是一次写入、多次读取。HDFS的构建思路也是这样的。HDFS存储的数据集作为Hadoop的分析对象。在数据集生成以后,采用各种不同分析方法对该数据集进行长时间分析,而且分析涉及到该数据集的大部分数据或者全部数据。面对庞大数据,时间延迟是不可避免的,因此,Hadoop不适合运行低时间延迟数据访问的应用。 1.3运行在普通廉价的服务器上
4、 HDFS设计理念之一就是让它能运行在普通的硬件之上,即便硬件出现故障,也可以通过容错策略来保证数据的高可用。 2HDFS的主要概念 2.1数据块(block) HDFS最基本的存储单位是64M的数据块,与普通文件系统相比,HDFS有这样的优点:假如一个文件小于一个数据块的大小,则不会占用整个数据块存储空间。抽象块具有文件的所有块不需要存储在同一磁盘上的优点,使用抽象块作为存储单元,则大大简化了存储子系统的设计。 数据块如设置过大,会导致集群利用率过低。如设置过小,要维护的元数据信息过多,由于元数据信息是存储在
5、内存中的,所以可能会造成内存溢出。 2.2HDFS数据节点 2.2.1元数据节点(Namenode) (1)其将所有的文件和文件夹的元数据保存在一个文件系统树中。 (2)元数据中存放着文件包括哪些数据块以及这些数据分布到哪些DataNode数据节点上。 ?VERSION――保存着Hadoop分布式文件系统的版本号。 ?fsimage――元数据的镜像文件,元数据保存在磁盘上的一个副本。 ?edits――修改日志文件,记录引发元数据改变的操作。 ?fstime――合并fimage和edits的时间。 2.2
6、.2数据节点(DataNode) (1)文件系统数据真正存储在数据节点。 (2)将存储的数据块信息周期性的向元数据信息(namenode)回报。 (3)数据节点为客户端(client)或者元数据信息(namenode)提供写入或者读出数据块的请求。 2.2.3从元数据节点(secondarynamenode) (1)元数据节点和从元数据节点分工不同,它们负责的事情并不相同,从元数据节点并不是元数据节点的备用节点。 (2)从元数据节点主要功能以防edits修改日志文件过大,周期性将元数据节点的fsimage和e
7、dits合并。 (3)simage和edits合并过后的命名空间镜像文件从元数据节点也保存了一份,以防元数据节点失败的时候,可以恢复,确保数据的安全性。 3HDFS高可靠性的??现 3.1安全模式 所谓安全模式就是Hadoop分布式文件系统刚刚启动时,名字节点进入一个特殊的状态。当处于安全模式时,名字节点不能做任何文件操作,甚至不允许内部的副本创建。名字节点需要收集各个数据节点的报告,当数据块达到最小副本数以上时,会被认为是“安全”的。当认为安全的数据块所占的比例达到了某个阈值(可配置),在过若干时间,安全模式结
8、束,当检测到副本数不足的数据块是,该块会被复制,直到达到最小副本数。 3.2数据一致性 在HDFS中,每一个数据块,都有一个版本标识,假如数据发生变化,则版本标识将会相应变化,在元数据信息(namenode)里,保存着各个数据块的版本,如果出现与数据服务器上版本不一致,则会启动恢复流程。由于各个网络情况非常复杂,
此文档下载收益归作者所有