论文部分内容阅读
目前大数据技术正在飞速发展,大数据具有多样性、快速性、海量性、多变性与复杂性等特征。Hadoop分布式文件系统(HDFS)设计运行于通用的商业硬件设备之上,是目前广泛应用的大数据存储系统。HDFS采用副本技术以保证数据的安全性与可靠性。如何在多副本中选择出最佳副本为上层应用提供服务,并对多副本分布情况进行管理,是HDFS副本技术研究的关键。HDFS默认的副本策略是面向于同构的硬件环境设计的,但是随着HDFS集群硬件的迭代更新,同构的硬件环境逐渐演变成为了异构的环境。使用固态硬盘可以弥补内存与机械硬盘之间的性能差距,但是固态硬盘比机械硬盘的容量小且价格高,只使用固态硬盘作为HDFS的唯一存储介质的成本过于昂贵。综合考虑大规模分布式存储系统的成本与存储的性能需求,将固态硬盘与机械硬盘混合应用已成为实现大容量高性能的数据存储的有效手段。混合使用固态硬盘与机械硬盘的异构存储的HDFS的应用也较为普遍。HDFS默认的副本选择与副本管理策略在基于异构存储的HDFS集群环境下存在着诸多不足。HDFS采用就近副本选择策略,选择网络拓扑距离最近的Datanode作为服务节点,选择标准单一,并未考虑不同存储介质的性能和节点的负载差异,容易造成性能较差或负载过重的节点承担过量的数据访问任务,从而导致集群负载失衡,数据访问效率低下。在副本管理方面,HDFS采用静态副本管理策略,此种管理方式的维护成本较低,但是灵活性较差,副本在集群中的分布将不会发生改变,容易造成高性能硬件设备的资源浪费。针对HDFS默认副本选择与副本管理策略的不足,开展了基于异构存储的HDFS中,以提升固态硬盘的使用率和副本访问效率为目标的副本选择与副本管理策略的研究。主要贡献如下:(1)设计并实现了基于异构存储的HDFS副本选择策略。总结了影响数据访问性能的主要因子,包括副本所在的存储介质的I/O负载、CPU负载、内存负载与网络拓扑距离等,提出了基于层次分析法的Datanode访问性能评估模型,在副本选择时尽可能选择评估值较高的Datanode提供服务,从而提升基于异构存储的HDFS的数据访问性能。(2)设计并实现了基于异构存储的HDFS动态副本管理策略。提出了基于异构存储的HDFS的两阶段动态副本管理策略,第一阶段根据数据访问热度执行Datanode内的副本调整,将具有较高访问热度的数据副本调整至固态硬盘中,将较低热度的数据副本延迟调整至机械硬盘中;第二阶段采用基于遗传思想的离散粒子群算法执行Datanode间的副本调整,通过优先将访问热度高的数据副本放置于高性能的存储介质中以优化集群中数据副本的分布,主动调整了不同存储介质的使用,提升了高性能存储介质的利用。(3)构建基于异构存储的HDFS的仿真环境并完成了性能测试与分析。在CloudSim上进行了扩展,增加了对HDFS的仿真模拟。仿真实验结果表明,本文提出的基于异构存储的HDFS副本选择策略比HDFS默认的副本选择策略的副本读取性能提升了近17%;本文提出的两阶段动态副本管理策略比HDFS默认副本管理策略的副本读取性能提升了至少32%.