论文部分内容阅读
随着信息化社会的快速发展,互联网中的数据急剧膨胀。大规模的数据生产就必然伴随着大规模的数据存储,但传统存储方式很难突破其存储限制,分布式存储系统应运而生。Hadoop是由Apache软件基金会开发的一个分布式计算框架,目前已广泛应用于各大互联网公司。Hadoop的核心是Map Reduce和HDFS,分别为数据提供计算和存储服务。HDFS是Hadoop的分布式文件系统,也是Google公司设计的GFS的一种开源实现,所以其基本结构与GFS一致,都属于主从模式。目前,由于Hadoop在云计算领域被越来越广泛地使用,以及HDFS本身优秀的存储能力,HDFS受到了广泛关注,许多公司和科研单位纷纷开展HDFS的研究工作。但是,HDFS仍有许多不完善的地方,它仍在不停地改进和更新。本文深入分析了HDFS的结构和运行机制,指出了其部分设计缺陷,针对HDFS的副本策略进行改进,主要工作如下:(1)HDFS默认的静态副本冗余策略并不能区分热点数据,导致存放这些数据的节点成为集群的一个瓶颈。针对这一问题,本文提出了一种基于数据热度的动态冗余策略。该策略统计并预测每个文件的访问情况,并且每个文件的统计周期随其访问频率的变化而变化,这样能快速反映出数据热度的趋势,及时增加或减少副本。使用该策略能加快系统响应速度,提高集群的吞吐量,减少作业时间。(2)HDFS没有考虑Data Node的异构性,如果性能差的节点存放了更多的数据,那么读取、处理数据时低性能节点需要承担更多的负载,闲置了高性能节点的处理能力,负载分配不均衡。针对这一问题,本文提出了一种基于节点性能评价和网络距离的放置策略。首先提供一个接口让用户自定义节点状态信息并配置其权重,然后使用改进的TOPSIS算法评价节点,最后综合网络距离选择节点放置副本。该策略允许用户自行设置关注点,并且在此基础上均衡各节点的负载,提高系统整体性能。(3)进行大量仿真和实验,并且基于改进的HDFS集群开发了C/S模型的云存储系统,用HDFS默认策略对比本文的改进策略,实验证明本文的改进策略能较好地提升集群性能。