云环境下信息系统可靠性研究
第1章 绪论
1.1 研究背景与意义
2015 年,在第十二届全国人民代表大会第三次会议上,李克强总理提出制定“互联网+”计划。李克强提出,制定“互联网+”行动计划,推动移动互联网、云计算、大数据、物联网等与现代制造业结合,促进电子商务、工业互联网和互联网金融健康发展,引导互联网企业拓展国际市场。“互联网+”战略就是在互联网平台上,通过信息通信技术,把互联网和其他行业相结合,在新领域创造一种新生态。“互联网+”时代以用户需求为目标,涉及通信、金融、餐饮、交通等传统行业,利用信息技术,把产业服务互联网化,把人与人的连接转变成人与设备和服务的连接,实现了人们之间新的更便捷的交流方式。“互联网+”是在传统产业的基础上的发展起来的,是对其的改进和升级。近两年,随着计算机技术和互联网的发展,云计算、物联网等已经融入到金融理财、打车订餐等民生领域,PC 互联网时代升级到移动互联网时代。 云计算、大数据是“互联网+”行动计划的重要技术支撑。Google 的 Eric Schmidt 在 2006 年的搜索引擎大会(SES San Jose 2006)上首次提出云计算的概念。美国商业周刊在 2008 年发表的《Google 及其云智慧》中提到:“这项全新的远大战略旨在把强大的超乎想象的计算能力分派到众人手中。”此后,云计算发展迅速,在信息技术领域大受欢迎,得到了社会各界的普遍关注。与其它云计算平台相比,Hadoop 平台的使用量最大,国内外很多商业机构和科研团体都搭建了 Haoop 集群来使用云计算服务。比如,IBM 的蓝云项目、Yahoo 和Facebook 的云计算系统、Amazon 的 AWS(Amazon Web Services)等。目前,国内很多企业都以 Hadoop 作为基础框架来部署云计算中心。此外,Hadoop 也很受中小型企事业单位和高校研究团体的青睐,它能够为企业提供安全可靠的云服务,节省了开发成本。 云计算的本质是云服务,可靠性是评价其服务质量的重要属性。云计算具有虚拟化、弹性架构、资源共享等复杂特性,因此基于云的信息系统故障会显著增加,业务中断、数据泄露等安全事件在国内外都发生过。例如,美国联合航空控制地面业务的系统发生宕机事件,业务瘫痪 2 小时,导致众多乘客航班延误而影响出行;微软的 Azure 云和亚马逊 AWS 云服务都发生过故障。一个微小的云计算错误由于连锁反应可能导致软件系统的重大故障,从而造成资源损失以及业务中断。不断出现的云计算安全事件在提醒人们,信息系统可靠性问题已经越来越重要,人们对云环境下信息系统的高可靠性需求也更加迫切。可靠性成为制约云计算发展的重要因素,提高信息系统的可靠性意义重大。
.........
1.2 国内外研究现状
现在云计算发展非常迅速,在众多的平台当中,Hadoop 脱颖而出,几乎成为云计算的代名词。Hadoop 平台的存储、计算能力之所以强大,是因为系统中的节点数量之多,利用虚拟化技术整合位于不同节点上的空闲资源,于是便能获得超强的计算能力。可是,Hadoop 底层硬件可能是异构的,不同节点之间存在较大差异,如何实现数据存储和资源调度,提高服务质量并且达到系统的负载均衡,是 Hadoop 的重要研究方向。可靠性是云环境下信息系统中非常重要的性能。HDFS 的可靠性是指数据不因节点的失效而丢失,比如磁盘损坏或者网络中断。Map Reduce 调度算法的目的是高效、可靠、资源利用率高,下面介绍有关 HDFS 和 Map Reduce 国内外的研究情况。 文献[1-2]提出最小带宽再生码和 DRESS 失效节点可以随机连接有效节点来进行修复,适用于对可靠性要求较高的大型分布式存储系统。文献[3]根据文件的历史访问记录来选取合适的节点存取数据,以使系统保持负载均衡状态,但是要存储文件的访问记录。文献[4]提出了一个副本管理机制 PRCR 来设置HDFS 系统中的副本数。它根据数据对可靠性的要求和预期存储时间来决定副本的个数。该机制可能会引起副本存放不均衡导致网络拥塞。文献[5]用“Soft Worst Neighbor Choking”算法来解决系统中连接的拓扑结构问题,可以提高系统的可扩展性并减少服务器带宽负载。文献[6]提出了一种动态副本管理机制,通过 Data Node 节点的负载均衡情况和可靠性要求实现副本的动态管理,实现了副本动态管理,能够有效节省存储空间。文献[7-8]设计了基于 HDFS 的动态副本管理模型,不仅给出如何确定副本数量而且提出了副本的位置选择策略,可以保证负载均衡并且节省存储空间,但是无法恢复备份失效的数据。文献[9]是通过计算集群中网络节点的负载状况和节点之间的通信距离来选取合适的节点存放数据副本,有利于保持系统的负载均衡并选择最小通信距离。
..........
第2章 Hadoop 与作业调度算法
2.1 Hadoop 技术
Hadoop 是由 Apache 开发的开源分布式计算平台,是云计算研究和应用最具代表性的产品。Hadoop 诞生于 2005 年,发展到现在才刚好 10 年的时间。在这短短 10 年的时间里,Hadoop 项目在互联网领域得到了很好的发展,几乎成了大数据的代名词。它的出现受到 Google 实验室“The Google File System”、“Map Reduce: Simplified Data Processing on Large Clusters”和“Bigtable: A Distributed Storage System for Structured Data”等文章的启发。用户不需要知道集群系统的详细信息就能够开发分布式应用程序,直接使用由 Hadoop 统一起来的集群存储资源、网络资源和计算资源,大量数据能高速地运算与存储。由于Hadoop 具有可扩展、成本低、高效、容错能力强等特点,越来越多的企业组织把注意力集中到 Hadoop 上,目前,Facebook、亚马逊、百度、阿里等国内外各行业公司都利用 Hadoop 平台进行数据处理。可见,基于 Hadoop 的应用已经遍地开花,正悄然改变着整个行业的面貌。
...........
2.2 Hadoop 作业调度流程
Hadoop 中的 Map Reduce 任务都被初始化为一个作业(Job),在集群执行过程中,允许多个作业同时运行。作业调度执行是 Hadoop 中非常重要的一环,下面将详细介绍作业执行情况和调度机制。Map Reduce 编程模型能够实现海量数据自动化分布式计算,当用户要运行程序时,就要定义相关数据操作函数,包括 Map 和 Reduce 两个阶段,然后Map Reduce 就能够自动划分数据集、分配任务以及并行计算等。一个 Map Reduce作业的执行流程是:a.编写代码;b.作业配置;c.作业提交;d.Map 任务的分配和执行;e.处理中间结果;f.Reduce 任务的分配和执行;g.作业完成。其详细的执行流程如图 2-3 所示。 作业提交后,会完全自动执行。因此在作业提交之前应该把程序代码和路径等设置完毕。用户程序调用 Job Client 的 run Job()方法,提交Job Conf 对象之后,run Job()方法调用 submit Job()方法,将作业提交给 Job Tracker。run Job() 不 断 循 环 , 并 且 调 用 get Task Completion Events() 方 法 , 获 取Task Completion Event 类的对象实例,了解作业的实时执行情况。
...........
第 3 章 基于选举机制的 HDFS 结构设计实现 ............. 18
3.1 单点失效问题分析 ......... 18
3.1.1 解决方法 ........ 18
3.1.2 比较与分析 .... 21
3.2 Paxos 算法与通信模型 ............. 22
3.2.1 Paxos 一致性算法 .... 22
3.2.2 通信模型设计 .......... 23
3.3 HDFS 结构设计实现 ....... 24
3.4 本章小结 ..... 29
第 4 章 JSBRNL 作业调度算法 ....... 30
4.1 节点和链路可靠性 ......... 30
4.1.1 网络节点可靠性 ...... 30
4.1.2 网络链路可靠性 ...... 31
4.2 调度模型 ..... 32
4.3 JSBRNL 调度算法 .......... 34
4.3.1 算法设计 ........ 34
4.3.2 算法流程及实现 ...... 36
4.4 本章小结 ..... 38
第 5 章 分析及验证 ........ 39
5.1 实验平台 ..... 39
5.2 HDFS 架构实验分析 ....... 41
5.3 JSBRNL 算法实验分析 ............ 43
5.4 本章小结 ..... 46
第5章 分析及验证
信息系统中 HDFS 只存在一个元数据服务器 Name Node 从而会引起单点失效的问题,通过构建 Name Node 集群可以解决该问题。基于网络节点和网络链路可靠性的作业调度算法,在分析信息系统中节点和链路的负载及可靠性之后再进行作业调度。本章分析信息系统的体系结构并通过实验对信息系统改进的结构以及调度算法进行验证分析。
云环境下的信息系统与传统信息系统的主要不同之处在于对数据的存储和处理方式不同,在 Hadoop 集群中,HDFS 负责存储数据,,而信息处理是通过Map Reduce 执行的。在云环境下的信息系统中,终端用户仍然通过浏览器进行访问,信息系统将用户的请求进行分析后发送到 Hadoop 集群的 Job Tracker 节点,Job Tracker 根据节点发送的请求执行存储或者计算操作。HDFS 中只存在一个Name Node 节点,极易造成单点失效导致整个集群崩溃,本文根据 Paxos 算法对其结构进行改进,由几个 Name Node 节点构成,其中有一个 Master 节点以及若干个 Slave 节点。改进后的信息系统体系结构由图 5-1 表示。由图 5-1 可以看出,系统工作流程为:用户通过浏览器访问信息系统并提交请求,系统后台服务器收到请求分析后转发给 Hadoop 系统中的 Job Tracker节点;Job Tracker 节点分析接收到的请求,如果是有关数据读写则将操作命令发送给 Name Node 节点,如果是任务执行,则调度相应的 Task Tracker 节点执行任务;Name Node 节点若收到的是读操作,则直接读数据返回即可(包括 Master和 Slave),若收到的是写操作,Slave 节点需要把请求发送给 Master 节点,根据Master 指示进行操作。Job Tracker 按照一定的调度算法选择合适的 Task Tracker节点并为之分配计算任务,最后将结果依次返回。
..........
结论
随着互联网的飞速发展,云计算技术逐渐成为国内外的重点研究对象。由于具有快速弹性、价格低、安全性高等特点,云计算受到各行业的青睐。Hadoop平台具有非常强大的数据处理以及存储能力,在众多云计算平台中脱颖而出,应用广泛。文中介绍了课题的研究背景与现状,详细描述了 Hadoop 的基础框架体系结构以及核心模块 Map Reduce 与 HDFS,重点分析了 Map Reduce 计算框架的作业运行原理和调度流程。并在此基础上完成了如下工作:
1.详细阐述了 Hadoop 分布式文件系统和 Map Reduce 的结构及原理,分析Map Reduce 的执行过程和调度机制,研究 Hadoop 系统的调度算法并比较其优缺点。
2.对 HDFS 基础架构进行分析,针对其只有一个 Name Node 节点容易造成单点失效的问题改进体系结构。研究 Paxos 算法并提出 Master 选举机制,在此基础上构建 Name Node 集群,代替单一节点。在改进的体系结构中,只要有 N/2+1个节点正常工作,系统就能正常运行,可靠性大大提高。
3.分析计算节点和网络链路的可靠性以及影响因素,设计算法调度模型,提出基于网络节点和网络链路可靠性的作业调度算法(JSBRNL),并具体分析算法的设计思想和流程。
4.搭建 Hadoop 平台对改进的 HDFS 结构与 JSBRNL 算法进行验证,结果表明,JSBRNL 算法的性能要明显优于 FIFO 算法,改进的体系结构可靠性提高了 0.19%,系统可靠性更高。
.........
参考文献(略)
本文编号:75263
本文链接:https://www.wllwen.com/wenshubaike/lwfw/75263.html