论文部分内容阅读
随着互联网发展带来的数据爆炸,现在很多企业都使用分布式文件系统来搭建高性能和高扩展性的应用,存储自身海量的数据并加以分析。Hadoop就是目前比较主流的开源分布式文件系统之一,它支持海量数据存储、可扩展性强、容错性强、可以运行在廉价的商用机器上,是大多数企业的首选。但是,Hadoop并不支持高可用性,因为它采用了Master/Slave架构,其中担任Master的NameNode是Hadoop中的单点问题。本文提出了一种热备、自动故障切换的高可用性解决方案—ANC (High Availability Node Cluster),并给出了具体实现方案和评测结果。具体内容和研究成果如下:1.介绍了Hadoop文件系统的架构,详细分析了HDFS中NameNode节点和DataNode节点的功能,包括NameNode元数据,NameNode启动流程和SafeMode状态。另外,对高可用技术的概念进行了介绍,在分析软件系统和硬件系统中的高可用技术方案基础上。我们给出了分布式文件系统中的高可用关键技术,包括系统状态监测技术、复制技术和服务连续性的处理技术。2.分析出NameNode是Hadoop中的单点问题,研究了目前解决Hadoop高可用性的解决方案,并根据解决方案的备份机制和切换方式将它们分为五类,详细分析了每一类方案的具体实现方式。3.详细介绍了HANC的体系架构和各个功能模块以及具体实现方式。整个系统由数据同步模块,集群管理模块和客户端访问模块组成。数据同步模块主要包括元数据同步、数据块位置信息同步和租约管理。集群管理模块包括多NameNode节点的管理和主节点宕机的处理流程。客户端访问模块负责在宕机过程中客户端的重定向。另外,本文提出了一种增大HDFS读吞吐量的策略。4.通过实验对本文的高可用性方案进行了评估,实验结果表明故障切换时间处于一个较小值(6秒左右),并且与原生Hadoop0.20.2相比,系统读取吞吐量有所提高并且访问延迟有所降低,证明了本方案的可用性。论文最后给出了下一步的研究方向和论文总结。