论文部分内容阅读
随着大数据时代的到来,传统的技术已经无法满足日益增长的存储需求,分布式存储技术应运而生。HDFS是Apache开发的云计算平台Hadoop的分布式存储系统,可以运行在大规模廉价的服务器集群上,具有较高的容错能力,针对超大数据集的处理进行了优化,具有较高的数据吞吐量。然而,HDFS的设计也不是完美的,存在着一些缺陷。本文研究了HDFS分布式存储模型,针对HDFS可扩展性差和写延迟高的缺点,对其进行改进,主要工作和研究成果如下:(1)一种动态负载均衡的分布式NameNode策略。HDFS设计了单节点的元数据服务器(NameNode)来管理元数据,这种设计虽然实现起来简单高效但是存在三个缺点:系统的可扩展性差、元数据可用性差和隔离性差。针对这个问题,现有的HDFS Federation策略和NCUC策略均存在着单点故障和没有动态负载均衡的缺陷。本文提出了一种动态负载均衡的分布式NameNode策略来解决这个问题。在本文提出的策略中,元数据通过多副本的形式存放在NameNode集群中,元数据分布的时候考虑到异构服务器之间的性能差异和当前的负载情况,当NameNode之间的负载动态变化时启动动态负载均衡策略,在客户端使用元数据缓存策略来降低元数据访问时间,当NameNode出现故障或者元数据副本丢失的时候启动元数据自动恢复。(2)一种延迟的自适应副本同步策略。HDFS使用简单的强一致性策略进行副本之间的同步,这种设计虽然保证了多副本之间始终处于一致性的状态,但是导致写文件延迟高和写吞吐率低的缺点,使得HDFS不适合有一定交互性等对于写性能要求高的场景。针对这个问题,现有的一些解决方案也存在着一些缺点:动态副本同步策略需要NameNode参与副本同步,而Quorum策略的读性能相对较差。本文提出了一种延迟的自适应副本同步策略来解决这个问题:在写操作执行的时候,选择部分副本执行副本同步,对其余的副本进行延迟的自适应副本同步,提高了写性能;通过使用BlockList结构,不需要NameNode参与副本同步,并且相较于Quorum策略也优化了读取性能。(3)本文对HDFS进行改进优化,在设计和实现的过程中使用了本文提出的动态负载均衡的分布式NameNode策略和延迟的自适应副本同步策略,解决了HDFS可扩展性差、元数据可用性低、写延迟高的问题。