登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 物联网工程 > 正文

作业执行时间静态预估系统的设计与实现毕业论文

 2021-04-29 09:04  

摘 要

随着云计算技术的发展成熟,云计算能够为个人和企业提供一种海量数据的管理方法。Hadoop是一个开源分布式云计算框架的实现,因为它具有高可靠性、高扩展性和高容错性等优点,被很多企业广泛地应用于大数据的分析和处理。在Hadoop 平台中的MapReduce环境下,不仅仅有规模很大的作业任务,而且还有规模较小的作业任务。如果可以事先知道作业的执行时间,就能够做出更加合理的资源分配方案、调度方案和负载均衡方案,最终降低作业的平均周转时间,到达提高系统吞吐量的目的。另外,提前预知作业的执行时间还能够保证和改善提供给用户的服务质量。

本文设计和实施了Hadoop作业调度下的作业执行时间静态预估系统。根据Hadoop作业的调度要求,用户提交作业之后,系统将作业分片之后的子任务进行随机抽样,然后将子任务提交到空闲虚拟机中执行,获取样本执行时间,最后按照确定的算法计算出作业的整体执行时间。本文主要设计和实施一个功能相对完善、易于操作的作业执行时间静态预估系统。该系统能够提高作业调度工作的效率,并且为满足用户服务质量需求的作业调度奠定基础。

关键词:Hadoop作业调度;作业执行时间;静态预估系统

Abstract

With the development of cloud computing technology, cloud computing can provide a massive data management method for individuals and enterprises. Hadoop is an open source distributed cloud computing framework, because it has many advantages, such as high reliability, high scalability and high fault tolerance, has been widely used in large data analysis and processing. In the MapReduce Hadoop environment, it is not only a larger operation, but also a smaller operation. If can know in advance the job execution time can make more reasonable resource allocation scheme, scheduling scheme and load balancing scheme, ultimately reduce the operation the average turnaround time, arrive to improve system throughput. In addition, the execution time of the job can be ensured and the service quality provided to the user is improved in advance.

In this paper, we design and implement a static prediction system for job execution time under Hadoop job scheduling. According to the requirements of the Hadoop job scheduling, users submit homework, the system will work piece of sub tasks were randomly sampled, and then sub tasks are submitted to the idle virtual machines executing, to obtain the sample execution time, finally according to determine the algorithm calculated workers of the overall execution time. In this paper, we design and implement a relatively complete and easy to operate time static prediction system. The system can improve the efficiency of job scheduling, and lay the foundation for job scheduling to meet the needs of user service quality.

Key Words:Job execution time;Static prediction system;Hadoop job scheduling

目 录

第1章 绪论 1

1.1 研究背景和意义 1

1.1.1 云计算基本概念 1

1.1.2 Hadoop简介 2

1.1.3 HDFS简介 3

1.1.4 MapReduce简介 4

1.2 国内外研究现状 5

1.3 论文的研究内容 6

1.4 论文的组织结构 6

第2章 作业执行时间静态预估系统的分析 8

2.1 作业执行时间静态预估系统概述 8

2.2 作业执行时间静态预估系统功能 8

2.3 作业执行时间静态预估系统的平台技术 9

2.3.1 Eclipse 简介 9

2.3.2 Java简介 10

第3章 作业执行时间静态预估系统的实现 11

3.1 作业执行时间静态预估系统的功能模块 11

3.2 作业提交模块 11

3.2.1 用命令行方式提交作业 11

3.2.2 在Eclipse中提交作业 12

3.2.3 用Eclipse插件提交作业 12

3.3 作业分片模块 12

3.4 随机抽样模块 12

3.4.1 简单随机抽样 13

3.4.2 系统抽样 13

3.4.3 整体抽样 13

3.4.4 分层抽样 13

3.4.5 并行的随机抽样算法 13

3.5 获取样本执行时间模块 14

3.6 计算作业执行时间模块 14

第4章 作业执行时间静态预估系统的测试 15

4.1 软件测试的目的 15

4.2 Hadoop安装 15

4.3 预估作业执行时间的功能测试 16

第5章 总结与展望 17

5.1 本文总结 17

5.2 研究展望 17

参考文献 18

致 谢 20

绪论

作业执行时间对于资源分配方案和调度方案有着重要的影响,提前预估作业的执行时间能够提高系统的吞吐量。就目前来看,关于作业执行时间的研究仍然是云计算Hadoop平台中的热门问题。通过对作业执行时间进行分析研究后,并在总结国内外研究现状的基础上,本文完成了作业执行时间静态预估系统的设计和实施,可以成功预估出作业的执行时间。

研究背景和意义

随着网络宽带的不断增长,人们可以通过网络去访问非本地的计算服务,例如,数据处理、存储和信息服务等,这就是云计算技术的发展雏形。云计算作为一种新兴的技术产业,就目前来看它发展地非常迅速,而且被认为是在微型计算机、互联网之后的第三次信息技术革命,它将会是互联网技术发展的大趋势。云计算不仅仅只是互联网技术发展的延伸,而且具有先进的商业模式和服务模式,它能够让互联网技术更好地来服务社会,而且在未来将对人们的社会生活带来重大的改变。

因为云计算的服务设施是不受用户端的限制,所以它的计算能力和发展规模都是不可估量的。Google、Amazon、IBM和微软等众多公司都具有自己的云计算平台,而且它们的计算平台已经达到了几十万甚至上百万台计算机的规模。因为很多新技术的运用和经济规模发展的特点,而且云计算可以提高资源利用率,所以云计算的性能价格和传统模式相比,已经达到惊人的30倍以上,这使得云计算技术成为了一种划时代的技术。

云计算作为一种商业的计算模型,它能够把计算的作业任务分配在由众多计算机构成的资源池上,让用户能够按照需要来获得信息服务、计算力和存储空间。Hadoop是开源组织Apache下的一种分布式的云计算平台,许多企业都在应用它,Hadoop能够用于海量数据的分析管理和存储。在Hadoop 平台中的MapReduce环境下,作业的任务是互相竞争存储资源和计算资源的。对于作业调度系统而言,如果可以在调度前就获取作业的执行时间,那么就可以更加合理的调度资源。对于用户而言,管理好自己的数据就可以节约查寻信息的时间,提高自己的工作效率。对于企业而言,就电商企业来看,它们每天都会产生大量的订单数据,如果可以快速地分析出订单数据背后的价值,这对于企业来说意义是重大的。

云计算基本概念

通过十年的时间,云计算已经迅速地发展起来。虽然很多的专家和学者都对云算进行了定义,但是到目前为止,还没有出现过一个统一的云计算定义。从狭义上来看,云计算是指云服务提供商通过利用虚拟化技术和分布式计算技术来搭建出数据中心,以免费或者按需租用的方法给用户和企业提供数据分析、科学计算和云存储等众多服务,如Amazon的弹性计算云EC2(Elastic Compute Cloud)。从广义上来看,云计算是指云服务提供商在大量廉价的商用机器上建立计算集群,通过这种方式能够向不同需求的用户提供计算分析、软件租借、在线软件和数据存储等众多服务。云计算的快速发展让用户的生活更加便捷,用户只需要付出一定量的租金就可以按照自己的需求来使用云计算平台对外提供各种类型的服务,就像是使用水电一样的方便。

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图