基于数据安全的Mapreduce任务调度方法及实现

 2022-07-18 12:07

论文总字数:31585字

摘 要

任务调度问题是大数据处理框架MapReduce中的重点问题,任务调度的结果合理与否直接决定了MapReduce的性能好坏。任务调度的过程中,在追求最小化最大完工时间的同时,对数据安全的考量也成为近些年中对MapReduce框架研究中的热点问题。本次研究,针对的就是MapReduce环境下基于数据安全的任务调度方法的设计与实现的相关问题。

在本次课题设计中,作者从任务调度的不同阶段入手,将方法分为Map和Reduce两个过程,以数据安全性为前提,同时以数据本地化为约束条件,并尽可能地兼顾负载均衡的实现,建立了基于数据安全的MapReduce任务调度模型,提出了相应的调度算法:该算法将任务调度流程清晰的划分为三个阶段,分别在Map、Reduce以及LocalSearch阶段完成基本功能的实现和对算法的调优。在Map阶段,作者主要考虑负载均衡性要求,采用先来先服务的任务调度方法,并在map task序列初次调度完成时利用LocalSearch对slot的负载进行一定的调整,而LocalSearch采用简单的插入和交换的实现方法;在Reduce阶段,作者同样考虑了负载均衡的约束,衡量最早与最晚完工的job之间的时间差,在task的分配阶段予以调整,将任务分配给空闲时间相对较多的slot以获取相对较优的调度序列。

关键词:MapReduce,数据安全,数据本地化,负载均衡

Abstract

The task scheduling problem is a key problem in MapReduce, a big data processing framework. The reasonableness of the task scheduling results directly determines the performance of MapReduce. In the task scheduling process, while pursuing the minimization of the maximum completion time, the consideration of data security has also become a hot issue in the research of the MapReduce framework in recent years. This study focuses on the design and implementation of task scheduling methods based on data security in the MapReduce environment.

In this project design, the author starts with different stages of task scheduling and divides the method into two processes: Map and Reduce. It takes data security as the premise, and takes data locality as the constraint condition, and balances the workload as much as possible. The implementation of the MapReduce task scheduling model based on data security was established and a corresponding scheduling algorithm was proposed. The algorithm clearly divided the task scheduling flow into three phases. The basic functions and tuning of the algorithm were implemented in the Map, Reduce, and LocalSearch phases. In the Map phase, the author mainly considers load balancing requirements, adopts first-come-first-serve task scheduling, and uses LocalSearch to adjust the load of the slot when the map task sequence is completed. LocalSearch adopts simple insertion and exchange methods; In the Reduce stage, the author also considers the load balancing constraint, measures the time difference between the earliest and the latest completed job, adjusts during the assignment of the task, and tries to obtain relatively optimal scheduling sequences as greedily as possible.

KEY WORDS: MapReduce,data security,data locality,load balance

目录

摘要 I

Abstract II

第一章 绪论 1

1.1 研究背景 1

1.1.1 云计算及其特点 1

1.1.2 大数据及其特点 1

1.1.3 Hadoop相关知识 2

1.1.4 Hadoop分布式文件系统 2

1.1.5 MapReduce应用框架 3

1.1.6 HDFS与MapReduce 4

1.2 研究重点 5

1.3 研究现状 6

1.4 论文组织结构 7

第二章 基于数据安全的MapReduce任务调度算法 8

2.1 环境设定 8

2.2 问题分析 8

2.3 数据安全性 8

2.4 数据放置 9

2.4.1 Map阶段数据放置 9

2.4.2 Reduce阶段数据放置 9

2.5 任务调度算法设计 9

2.5.1 Map阶段任务调度 9

2.5.2 Reduce阶段任务调度 9

2.5.3 LocalSearch阶段序列优化 10

第三章 基于数据安全的MapReduce任务调度算法实验 10

3.1 实验准备 11

3.1.1 参数设定 11

3.1.2 输入输出数据 11

3.1.3 实体属性和方法 11

3.2 代码流程及部分实现 15

3.2.1 参数初始化 15

3.2.2 创建集群 16

3.2.3 Map task数据放置 18

3.2.4 Map任务调度 18

3.2.5 Local search 19

3.2.6 Reduce任务调度 21

3.3 实验结果与分析 22

3.3.1 实验结果 22

3.3.2 实验分析 23

第四章 总结与展望 25

4.1 主要工作总结 25

4.2 今后展望 25

致谢 27

参考文献 28

绪论

研究背景

在计算机科学迅速发展的当今社会,云计算和大数据的存储以及处理已经成为了其中较为热门的一个方向。在如今的各行各业中,每一天都在产生海量的数据,要想通过此向客户提供更加便捷,更加贴切的服务,就必须依赖对产生的大数据的存储及处理方面的技术。

云计算及其特点

云计算是通过互联网提供计算服务例如服务器,存储,数据库,网络,软件,分析等等。用户使用云计算意味着通过互联网按需、按时等付费的方式使用云供应商即时提供的IT资源。对云提供商而言,它以低成本的方式提供IT基础架构的解决方案。云计算具有如下特性:

  1. 灵活性:云计算工作在在分布式的环境中。它在用户之间共享资源,工作速度非 常快。
  2. 高可用性和可靠性:在云计算环境中,由于基础设施故障的可能性很小,所以服务器的可用性更高且更加可靠。
  3. 高可扩展性:这意味着云计算集群在扩展时更加方便快捷,不需耗费过多的人力与财力。
  4. 多用户共享:在云计算的帮助下,通过共享通用基础设施,多个用户和应用程序可以更高效地工作,同时降低成本。
  5. 设备和位置无关:云计算使用户能够使用Web浏览器访问系统,无论他们的身处何方或他们使用什么设备,例如PC,手机等。由于基础设施不在现场(通常由第三方提供)并通过互联网访问,用户可以从任何地方连接。
  6. 易于维护:云计算应用程序的维护更容易,因为它们不需要安装在每个用户的计算机上,并且可以从不同的地方访问。同时,它因此也降低了成本。
  7. 费用较低:对于企业而言,通过使用云计算,成本将会降低,因此IT公司不需要设置自己的基础架构,而只需按资源使用量进行支付。
  8. 提供按需付费的应用服务:云计算将应用程序编程接口(API)提供给用户,以便他们可以通过这些API访问云上的服务,并根据服务的使用情况来支付费用。

大数据及其特点

大数据并不是一项新的发明,它来自于数字时代以来我们产生的大量数据。这主要是因为计算机和互联网技术的兴起,它们能够从我们生活的世界的各个角落、各个方面获取数据。如今,几乎我们做任何工作都会产生数字信息,例如上网、购物、滴滴出行等等,这些都是大数据的来源。我们所说的大数据就是这样一种能够处理各种结构化和非结构化数据的技术。

大数据工作的原理是,对一件事情的情况了解的越多,对它的了解就越深刻,就越可能对它接下来的发展做出预测。通过更多的数据了解,我们可以发现数据隐藏的信息点和不显著的内在联系,从而帮助我们做出更明智的决策。大数据主要具有以下特性:

  1. 多样性:大数据没有固定的类别,没有固定的形式,甚至不局限于我们平常理解的结构化的形式;
  2. 可变性:同样的数据有时可能显示的并不一致,这在分析数据的人看来可能是一个较为棘手的问题,这阻碍了数据的管理和有效处理;
  3. 复杂性:显而易见大数据的存储和处理是一个非常复杂的过程,这也是由其多样性和可变性决定的,尤其是当大数据来自不同的来源,形式不一,为了掌握这些数据传递的信息又需要进行连接和关联,处理的难度更加巨大。

Hadoop相关知识

Apache Hadoop软件库是一个框架,它允许使用简单的编程模型跨计算机集群,分布式处理大型数据集。它旨在从单个服务器扩展到数千台机器,每台机器提供本地计算和存储。该库本身不是依靠硬件来提供高可用性,而是在应用层检测和处理故障,从而在一组计算机之上提供高可用性服务。

剩余内容已隐藏,请支付后下载全文,论文总字数:31585字

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

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;