论文部分内容阅读
近年来,云计算不论是在国内还是在国外都受到了越来越多的关注。而Hadoop则被认为是当前主流的、使用最广泛的云计算开源平台。作为Hadoop的首选底层存储系统,HDFS(Hadoop Distributed File System)以其能够可靠的存储大规模数据的能力极大的推进了Hadoop的发展。然而,HDFS采用单节点管理虽然可以降低系统的复杂度,但是严重影响了系统的可靠性,并限制了系统的扩展性。对于HDFS的“单点”问题,不论在社区还是在企业都提出了一些解决方案,然而至今没有一个被大家广泛认同的解决方案。本文在仔细剖析当前主流解决方案优缺点的前提下,提出了一种HDFS分布式元数据管理框架(Distributed meta-data Management Framework, DDM)。通过使用分布式元数据管理框架不仅能够解决HDFS的“单点”问题,还能够有效提高文件系统的并行性与吞吐量。为了能够更好的适应当前的云环境中大规模数据处理和海量节点管理的要求,本文设计的元数据管理框架摒弃了HDFS将命名空间与文件块元数据统一管理的设计思路,而采用分层管理的思想,将命名空间的管理与文件块元数据的管理放在不同的层中,提高了HDFS的灵活性与扩展性。之后本文给出了HDFS这两类最重要元数据的分布算法与调整策略。在此基础之上,针对分布式框架设计了相应的管理机制,包括节点的加入与退出,副本的管理与恢复以及元数据的同步与迁移等,并针对HDFS设计上的一些不足做出了改进,以保证分布式元数据管理框架的正确性,高效性和可用性。在分析HDFS关键代码的基础上,分布式元数据管理框架最大程度的利用了HDFS已有的代码和机制,并对部分代码进行重构以提高其可读性、合理性并降低分布式管理框架的耦合性。最后,通过实验测试了DMM对HDFS读写性能,启动性能以及并行性的影响,并测试了分布式元数据管理框架的可用性与扩展性。实验结果表明,分布式元数据管理框架虽然在读写性能和启动性能上略逊于HDFS,但是在并行性、可用性与扩展性上都优于HDFS,能更好的满足Hadoop的应用环境。