论文部分内容阅读
随着云计算及互联网技术的飞速发展,日益增长的信息需求与互联网之间的交互产生了海量的数据,传统的使用单台服务器存储数据的文件系统已经不能很好的满足海量数据的存储,因此需求存储大量数据的存储系统应运而生。分布式文件系统基于服务器客户端模式的设计解决了单机存储的局限性,通过多台服务器之间协同存储数据。对于云环境下海量数据的存储,分布式文件系统涉及大量的数据服务器节点和网络设备,这些节点可以分布在各个地方,节点之间的配置存在差异,随着线上任务的运行以及数据的读写,会产生节点之间数据存储的不均衡,数据存储的均衡程度对系统性能有重要的意义。因此,如何解决云环境下分布式文件系统的数据负载均衡称为了重要的研究课题。本文针对Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)中数据块副本存放不均衡导致系统性能降低的问题,进行了详细的研究和分析。主要从数据迁移过程中的阈值和节点匹配方案两个角度分析,分别提出了基于多变量的动态阈值调整策略和基于队列排序的改进算法。基于多变量的动态阈值调整策略是根据Hadoop集群数据节点的多方影响因素进行系统评价,通过定期循环获取磁盘空间使用率、CPU利用率、内存利用率、磁盘I/O占用率、网络带宽占用率等影响因子,形成获取阈值的计算表达式,在算法运行过程中计算阈值用于数据的迁移门限,实现自适应的动态负载均衡,提高服务器集群数据的均衡。基于队列排序的改进算法主要是针对负载均衡过程中节点匹配的随机性缺陷进行优化改进,提出节点存储列表排序的策略,将源节点存储列表和目标节点存储列表按照节点空间使用率进行排序,保证在节点选取过程的顺序性,从而使得负载较重的节点数据优先迁移到负载较轻的节点上,提高数据负载迁移过程的效率。通过理论分析和实验结果表明,相比较Hadoop静态的输入阈值的算法,动态获取阈值的方案达到了更好的平衡效果,提高了计算资源的利用率。基于队列排序的改进算法相较于Balancer在平衡的过程中效率更高。