论文部分内容阅读
随着互联网的高速发展,数据量呈指数级增长,海量数据的存储与分析已成为非常热门的研究领域。Hadoop分布式文件系统HDFS是一个可扩展的分布式文件系统,可以在廉价的硬件上运行,并具有可靠的容错能力,正受到越来越多的企业和科研机构青睐。目前,基于HDFS研发云存储系统、解决大规模数据存储的需求也越来越多。本文研究的正是基于HDFS设计“合肥城市云”存储系统。然而,由于HDFS本身的架构设计,大量的小文件存储会给名字节点Namenode造成巨大的内存压力,从而限制了集群的文件存储数量和读写效率。Namenode的单点故障问题也会影响到HDFS的高可用性。为了解决以上问题,在进行大量调研和学习]HDFS系统架构和内部流程的实现机制的基础上,提出有效解决方案。本文的主要工作如下:1、针对小文件存储问题,提出了ABFM优化方案。根据文件之间的相关性按优先级高低合并后再上传,并生成索引记录。加入随机化思想,采用两级缓存策略,将预提取的小文件缓存在内存池中。系统会定期查询访问日志,动态调整预提取概率。和默认方案、系统自带的HAR方案进行实验对比,结果表明,ABFM策略能有效提高小文件访问效率,降低名字节点和数据节点的内存开销。2、针对Namenode单点故障问题,调研了几种主流的解决方案,最终选取基于QJM的Namenode高可用方案。深入学习该方案的系统架构和内部原理,详细描述了搭建过程,并给出了搭建成功后的系统界面效果展示。3、结合企业需求,设计并实现了基于高可用HDFS的“合肥城市云”存储系统。系统共有三个模块,分别是加入了小文件优化方案的B/S访问模块、NFS访问模块和后台管理系统模块。用户可以通过B/S模式和NFS模式访问云存储系统。系统管理员能够对用户进行安全认证、配额管理、冻结和解冻以及处理扩容请求等操作,有效弥补了]HDFS这些方面的不足,方便企业、用户使用和管理。4、采用黑盒测试方法,对“合肥城市云”系统的B/S访问模式和NFS访问模式进行功能测试和性能测试,保证系统能够满足设计需求。分析这两者在文件上传和文件下载性能差异的原因,证实作者的优化策略的有效性。综上,本文提出了ABFM优化方案,有效解决]HDFS存储海量小文件的性能问题;搭建基于QJM的Namenode高可用方案,保证HDFS的高可用性;并基于此设计和实现了“合肥城市云”存储系统,为科大国祯(城市云数据中心)提供高效、稳定地数据存储和管理服务。