论文部分内容阅读
Hadoop框架已经成为目前进行大数据量处理的首选框架,甚至被誉为“连接21世界海量数据处理的金钥匙”。HDFS是Hadoop的基础模块,为用户提供了一个分布式的文件系统。然而HDFS的中心服务器Namenode却是单点。由于Namenode服务器的单点失效而造成的整个文件系统的崩溃,已经成为困扰HDFS的棘手问题。针对HDFS中存在的单点故障,目前业界也存在多种HDFS的高可用性方案。它们的核心思想都是采用备机的方式来预防中心服务器的失效。这样的方案虽然可以在HDFS发生单点失效时,用备机为客户提供读服务。然而往往需要人工的干预,及存在数据丢失的可能。因此,需要一个全新的思路来解决HDFS中的单点故障问题。本文设计并实现了基于双中心服务器的HDFS的架构。该HDFS的高可用性方案不但可以有效的解决存在的单点问题,同时也弥补了采用备机思路进行高可用方案的不足。具体而言,本文主要的工作如下:(1)研究当前流行的HDFS基于备机方式的高可用性方案,这些方案也分为热备和冷备,指出了它们共有的不足;研究HDFS的架构,结合中心服务器在HDFS中的地位与作用,提出了基于双中心服务器的HDFS架构;(2)研究分布式一致性算法Paxos,设计出了作用在三机环境下的三机Paxos算法;并且依据该算法设计了数据同步框架Quorum,规范了该框架的读写操作的数据流程;同时指出该框架即使在节点失效的情况下,依然可以对外提供正确的读写访问;(3)研究HDFS的源码实现,深度剖析了HDFS中的代码结构;对HDFS的代码进行修改,让它符合Quorum框架的规范;实现了双中心服务器,将Quorum框架对外提供的保证也移植到HDFS之上;(4)通过对基于双中心服务器的HDFS的测试,验证了该可用性方案的可行性和有效性。本文为HDFS的高可用性提供了新的思路和方法参考,同时本文设计的三机Paxos算法及数据同步框架Quorum也兼有理论和现实意义,具有广泛的的应用价值。