Hadoop平台存储策略的探析和改良

论文价格:免费 论文用途:其他 编辑:mjt1985 点击次数:178
论文字数:68000 论文编号:sb201211211836314396 日期:2012-11-22 来源:硕博论文网

引言

1.1课题研究背景

    随着信息科技的发展,人们进入了数字信息时代,各种电子数据产生的越来越多,学校、企业、政府机关等大量纸质的数据已经被电子化。各种处理和记录系统产生的海量的数据;各种wEB应用网站每天产生的日志数据和每天用户上传的数据等都达到TB等级,如此海量数据的存储和备份已经成为一个热点问题。大量的数据混合处理之后可能会收到不同的效果,对于某些应用,例如用户行为分析,一般算法再好也不如大量的数据带来的效果更好,而这些分析的前提是数据如何存储。从这些角度上看,数据已经成为一种财富,很多公司都很重视数据这种无形的资产。例如目前很多公司在做的一项工作就是基于用户操作日志的行为分析,从分析结果中获得潜在的商机。但是快速分析的前提是如何保存这些日志数据才能提供更快的读取速度,以便加快算法产出分析的结果,同时还要保证这些数据高效的存储。
    数据的存储面临的问题是数据量增加的同时,物理储存设备的访问速度没有增加。数据的一般存储方式是使用本地化存储或者使用RAID技术,本地化存储存在着严重的硬件速度瓶颈。单机的CPU、内存和硬盘等硬件有限,存储效率都停留在很低的级别,而且不具备容灾备份的功能,不能满足海量数据的存储的需求RAID技术采用分布式存储,利用多台机器的性能来提高系统整体的性能,提升了系统的存储效率,同时RAID具有容错的功能。但是面对海量数据的存储,使用RAID的方式需要花费巨大的资金,同时RAID虽然具有备份的能力,但是存储策略和自动修复功能都不完善。
    面对如此海量数据的存储和分析的问题,人们提出了云计算解决方案,而且越来越多的科研机构和企业开始关注云计算这种新的计算模式。云计算框架的发展,带来了商业模式和计算方式的革命性转变,完全改变了过去数据主要集中在本地存储和本地计算的传统模式,使得企业机构、学校实验室和科研机构能够方便快捷地通过网络方式提升系统的计算力和存储空间,极大地降低了这些地方的硬件等基础设施的浪费和闲置,有效的提高了人力资源的效率,为企业、学校和科研机构节约了大量的资金和人力支出。
    云计算的存储系统是伴随云计算技术发展出来的一种存储模式,它通过网络技术和分布式文件系统将分散的存储设备连接成一个虚拟的整体,组合成一个高效、快速、安全、可靠的存储系统。存储系统上层通过云框架软件组织硬件提供数据存储和高速访问的服务。本文基于此研究如何满足海量数据的高速存储,目前的云框架的存储策略还不是很成熟,而且每种存储策略都是适应实际需求而产生的,所以本文主要是根据实际需求,基于云计算框架设计一种优化的存储策略来满足我们的实际情况的需要。
    云计算已经成为新时代的计算模型和储存模型。云计算综合了虚拟化技术、分布式计算、并行计算、网格计算等技术,所以云计算具有更加优秀的架构来存储数据。云计算的分布式文件系统具有容错性、安全性的特点。云计算的实现方式是利用数以万计的廉价机器和存储设备搭建存储平台和计算平台,这些异构的设备通过云平台变成高可靠、高可扩展的系统,提供给用户存储和计算的云平台。
    谷歌云计算框架的存储系统为GFS(Google File System) a GFS与传统的分布式文件系统有着很多相同的设计目标,例如,性能、可伸缩性、可靠性和可用性等。谷歌的设计还基于谷歌对他们自己的应用的负载情况和技术环境的观察,GFS和早期文件系统的假设都有明显的不同,谷歌已经针对不同的应用部署了多套GFS集群。最大的一个集群拥有超过1000个存储节点,超过.300TB的硬盘空间,被不同机器上的数百个客户端连续不断的频繁访问。这种设计思想能很好的满足海量数据的存储,因此谷歌的GFS文件系统一直被人们所提倡。Hadoop框架的HDFS文件系统是谷歌的GFS文件系统的开源实现,实现了GFS的功能,具有高度容错性、可靠性和稳定性。因此,HDFS能够满足企业和科研的需求,成为受追捧的云计算框架。
    Hadoop框架可以直接运行在普通的机器上就可以提供高效、稳定的服务,同时Hadoop是完全开源的框架平台,非常适合根据自己的需求设计存储策略。HDFS的分布式存储策略不但能够高效的存储数据,同时具备自动备份、自动修复数据的功能。备份和修复数据时需要提供相应的策略,本文主要是基于hadoop的存储设计DIFT存储策略满足实际需求,主要方法是结合Hadoop云平台的构建,分析HDFS的实现原理,研究其存储策略来实现存储性能的优化,设计DIFT储存策略以及策略的实施。

2课题的国内外现状

    Hadoop技术已经在互联网领域得以广泛的应用,同时也得到科研界和学术界的普遍关注。随着互联网的发展,新的业务模式将不断涌现,Hadoop的应用也从互联网领域向电信、电子商务、银行、生物制药等领域拓展。Hadoop将会在更多的领域中扮演幕后支柱的角色,为我们提供更加快捷优质的云计算服务。

 

2 Hadoop框架的云............ 17-29
    2.1 HDFS技术背景............ 17-20
        2.1.1 GFS的特性............ 17-18
        2.1.2 主从结构............ 18-20
    2.2 HDFS分布式文件............ 20-27
        2.2.1 HDFS的设计............ 20-21
        2.2.2 控制节点和............ 21-22
        2.2.3 HDFS的数据............ 22-24
        2.2.4 持久化的............ 24
        2.2.5 通讯协议............ 24
        2.2.6 HDFS的健壮性............ 24-26
        2.2.7 HDFS的数据............ 26-27
        2.2.8 存储空间............ 27
    2.3 本章总结............ 27-29
3 HDFS研究及其策略............ 29-43
    3.1 HDFS的启动............ 29-32
        3.1.1 控制节点启动............ 29-30
        3.1.2 数据节点启动............ 30-32
    3.2 HDFS存储过程............ 32-34
    3.3 状态信息............ 34-36
    3.4 心跳协议............ 36-37
    3.5 数据存储............ 37-41
    3.6 本章总结............ 41-43
4 海量数据存储策略............ 43-63
    4.1 设计思想............ 43-44
    4.2 节点数据结构............ 44-49
    4.3 状态信息的............ 49-52
    4.4 心跳协议的............ 52-55
    4.5 DIFT存储策略............ 55-62
        4.5.1 节点选择策略............ 56-59
        4.5.2 节点排序策略............59-61
        4.5.3 可配置的............ 61-62
    4.6 本章总结............ 62-63


总结
    本文研究了Hadoop的分布式文件体系HDFS的基本原理,针对其原理和存储策略进行了深入的分析和研究。在此基础上分析HDFS在实际应用中遇到的问题,HDFS在运行的时候,可能某些数据节点在内存、带宽上存在某些时候比较忙碌的状况,当在这些情况下客户端去存储数据的时候,这些忙碌的数据节点就可能被选中作为存储节点,如此必然会导致整个集群的存储效率下降。
    本文针对以上问题设计了HDFS的DIFT存储策略,使得系统能够根据集群中数据节点的更完整的状态信息来选择节点,增加集群的负载均衡的能力。通过深入了解分布式文件系统的设计模式和方法,深入剖析了HDFS的存储过程和方法调用关系:客户端存储数据时会从控制节点获取数据节点数组,控制节点根据存储策略从集群中选择数组内的数据节点,并对其排序以优化传输。本文通过分析这一存储过程中的选择策略和排序策略,设计了DIFT存储策略。在默认的策略基础之上,增加新的判断信息来确定数据节点是不是适合和对节点排序。数据结构、状态信息和心跳协议是存储策略的基础,本文重分析了这些信息,为DIFT策略提供了基本依据。根据这些基本的信息设计判断数据节点是不是合适的策略,同时根据这些信息设计对选择的数据节点进行排序的策略。最后通过构建实验平台实验对比DIFT存储策略和原有策略,验证和分析DIFT存储策略的效率,证明DIFT存储策略在提高系统整体负载的基础下,提供了比较高效的存储性能。


QQ 1429724474 电话 18964107217