基于Hadoop处理小文件优化策略.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Hadoop处理小文件优化策略

基于Hadoop处理小文件优化策略   摘要:HDFS(Hadoop Distributed File System)作为开源系统广泛地适用于各类存储服务中,具有高容错,易扩展,廉价存储等特点。然而,HDFS基于单一的服务器NameNode来处理元数据信息管理,当处理海量小文件时会造成NameNode内存过分消耗以及存储和读取性能并不理想,使NameNode成为系统瓶颈。本文提出一种基于HAR(HadoopArchive)的优化机制来提高NameNode存储元数据信息的内存利用效率和提高读取小文件的访问效率。另外,该策略也扩展了HAR文件追加的优化和为提高访问效率采用索引预取机制。实验结果表明该优化策略能够提高现有HAR处理小文件的能力和访问海量小文件的效率。   关键词:HDFS;小文件;HAR;索引策略;索引预取   中图分类号:TP391.1 文献标识码:A DOI:10.3969/j.issn.1003-6970.2015.02.023   0 引言   随着网络服务的高速发展,数据的数量呈现井喷之势,云计算技术已经成为提供主机数据和软件与服务部署方面越来越受欢迎的下一代基础设施。分布式文件系统是网络服务基层实施的重要组件。HDFS作为Hadoop的分布式文件系统,已经成为海量存储集群上部署的主流文件系统。由于HDFS是一个开源软件框架,获得了许多大公司的青睐,根据存储与处理海量数据时的优异表现得到广泛用与分析。然而HDFS在处理海量小文件时却忍受着性能降低,因为NameNode把文件系统的元数据信息放置于内存中,所以海量小文件的存储会引发的NameNode内存消耗过度以及NameNode性能降低,使NameNode成为了系统瓶颈。   随着各类社交网络的兴起,产生了大量数据文件,如日志,用户文件,图片等等小文件,所以针对Hadoop小文件问题现在已经有一些解决方案,这些方案可以大体分为两种策略:第一种是通过部署多个NameNode来支持更多的负载以此来提高系统性能;另一种则是通过合并小文件来最大限度的减轻NameNode的内存负载。其中Apache Hadoop基金会已经再次开发了HDFS,HDFS能够在一个集群中支持多命名空间从而提高系统的可扩展性以及隔离性,但是还是存在系统很难去配置各个命名空间的协调问题。文献提出了通过客户端本地缓存来存储索引文件实现索引或者数据预取减少NameNode的使用,从而优化HDFS的I/O性能。但是实验结果表现出的文件访问性能提高不是很显著。文献提出了一种优化I/O性能的方法,但是只是针对存储于HDFS上的地理信息数据。这种方法只适用于特定的数据并且没有提高文件访问效率。另外其他处理小文件的方法包括Sequence文件和Hadoop Archive。SequenceFile是HDFS提供的一种二进制的文件技术,通过将对序列化到SequenceFile实现小文件的合并,同时还支持基于数据块的压缩,显著减少了名称节点的内存,但是这种方法存储花费时间长,并且查找一个小文件就需要遍历整个SequenceFile,对系统访问性能产生了影响。HadoopArchive(HAR)是一种文件归档技术,通过将小文件打包成HAR文件来减少HDFS中文件数量,从而减轻NameNode内存负载压力。但是读取HAR中的文件需要读取两层index文件以及读取文件数据本身,并且HAR不允许对已生成的文件继续追加,所以使用HAR的系统访问性能受到影响。   为了克服上面提到的困难,本文提出一种基于已有的HAR方法的优化机制,HAR被从新设计索引机制来提高对元数据信息的管理,并在不需要改变HDFS体系结构的情况下提升文件访问性能。通过对HAR的索引策略进行改进,并且实现对已有HAR文件进行追加操作和通过客户端对索引文件进行预取,很好的提高了HDFS在面对小文件存储与读取上的性能。   1 研究现状   Hadoop平台提供了与google文件系统相似的分布式文件系统HDFS和MapReduce计算框架。HDFS具有高容错性,易扩展的特点,能够提高极高的数据吞吐量,适合那些有着超大数据集的应用程序,因而被各大公司广泛运用,包括AOL,Amazan,Facebook,Twitter等。HDFS有一个单一的NameNode节点和多个DataNode节点,属于主从式架构。体系结构如图1所示。   NameNode管理元数据信息以及文件系统内部配置数据,HDFS中的文件被分成块,每个块被复制和存储到多个DataNode~L13I。DataNode管理块存储以及响应来至客户端从NameNode指向的请求。HDFS提供了优化方法处理海量数据,计算被分摊到各个节点,使存储输入数据的传输负载最小化,并且数据复制确

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档