- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
海量小片在HDFS下存储和访问优化
海量小图片在HDFS下
的存储与访问优化
摘 要
Web2.0时代,以微博、社交网站、网上交易平台等应用的快速发展,使数据呈现出几何级的增长,使用传统的技术框架越来越不能胜任当前海量数据的存储与处理等需求,海量数据的存储与处理成了当前的热点话题。Hadoop文件系统HDFS作为Google文件系统GFS的开源实现成为了业界研究海量数据存储与处理的一个典范模型,并得到了很好的应用。然而HDFS在海量小文件存储方面却存在着严重的性能问题,主要有文件元数据过多造成Namenode内存压力、Block的存储空间利用不充分造成严重的空间浪费、频繁的文件读写请求造成的文件读写效率低下等。小图片是一种特殊的小文件,HDFS的这些性能问题同样也适应于海量小图片的存储,同时,海量小文件的解决方案对设计海量小图片存储的解决方案也有相应的参考价值。
在HDFS环境下,现有的小文件存储解决方案主要有:Hadoop自身提供的HAR和SequenceFile、利用HBase扩展HDFS、扩展为多Namenode、根据HAR和SequenceFile的思想而提出的文件合并方案等。这些解决方案都从一定程度上缓解了HDFS在海量小文件存储方面的性能问题,但都有一定的局限性:利用HBase扩展HDFS无法存储大于64KB的文件;HAR和SequenceFile、多Namenode等无法有效地减少客户端请求命名节点的次数;并且HAR和SequenceFile无法保证文件路径在HDFS中的透明性;文件合并方案容易导致读写低下等。
本文在分析了HDFS体系结构和现有的小文件存储解决方案的基础上,提出了海量小图片在HDFS下的存储解决方案,其主要思想就是化小为大、建立索引、合理缓存。
在设计该解决方案时借鉴了缓存、异步通信、并行处理等技术:客户端缓存来存储相关图片,以实现图片的合并、上传和下载等功能;消息队列连接用户操作和实际的HDFS操作;两级索引用于定位小图片在HDFS和缓存中的位置。该方案涉及到两种后台进程:消息处理进程、图片清理进程。消息处理进程一直运行在客户端所在的机器上,完成图片合并、文件上传等功能;图片清理进程周期性执行,完成HDFS中物理图片的删除和文件合并等功能。
最后,本文搭建Hadoop集群完成了对比实验。通过对比和分析实验结果,该方案不但大大减少了图片的元数据个数和消耗的数据块个数,并且可以有效提高图片的读写速度。从而验证了本文提出的海量小图片存储解决方案的有效性。
关键词:分布式文件系统;HDFS;小图片;存储优化;访问优化
ABSTRACT
In the Age of Web 2.0, the applications such as the Micro-blog, the Social networking sites, and the online trading platform have achieved rapid development, thus produce more and more data. The traditional technology architecture is unable to meet the need of mass data anymore, so it has been a hot topic that how to store the mass data and how to deal with them. HDFS, which is the file system of Hadoop, as the open source implementation of GFS, which is the file system of Google, has been the typical model of how to store and deal with the mass data. And HDFS has been widely used in the real world. However, there is a serious performance issues for HDFS to deal with mass small files.
Existing storage solutions for mass small file include HAR and SequenceFile, based on HBase system, extend to more than one Namenode, merge many small file into one and so on. HAR and SequenceFile are provided by Hadoop i
文档评论(0)