目录
4
2
1
论文主要研究内容
3
前言
Hadoop云计算平台
总结与展望
4
库文档分享
1 前言
现有的海量数据对各大公司的数据处理技术构成威胁,诸如Hadoop,OpenStack等并行计算框架应运而生。
Hadoop云平台上运行着多种类型的作业,现有的调度器不能够满足特定作业的需求。
关系型数据库能够处理百万、千万级别的数据,但当处理过亿级别的数据时会显得力不从心。
库文档分享
2 Hadoop关键技术
Hadoop Distributed File System,是一个分布式的文件系统。它具有如下优点:
■可靠性
■可扩展性
①
②
③
③
库文档分享
它是一个并行计算的框架,采用“分而治之”的思想来处理大数据集,运用此框架编写的MapReduce程序可以运行在多台计算机上。
Map的主要目的就是把一个复杂的问题分解成多个子问题并行处理;Reduce主要是对Map的处理结果进行合并。
库文档分享
TaskTracker2
TaskTracker1
JobTracker
TaskScheduler
④ assignTasks()
⑤ task list
③
<TaskTrackerStatus,
askForNewTask>
⑥ tasks-to-lauch
Task
⑦ launch
③
Client
① submitJob()
② notify
initJob()
??????????????
库文档分享
3 论文主要研究内容
为执行慢的任务启动另外一个任务来处理相同的数据分片,这个任务就称为推测执行的任务。当有一个任务完成时,即终止另外一个任务。
在计算集群中,一些诸如资源分布不均,程序的错误或者是硬件的故障等因素,会造成同一个作业的多个任务之间速度的不协调、快慢不一致。
库文档分享
推测执行任务的不足
■运用progress[i]<averageProgress–20%来判断是否启动推测执行的任务,没有考虑到Hadoop异构集群中不同配置的节点的性能,它们执行任务的速度存在着较大的差异,针对这一差异性,运用同样的策略显然存在着不足。
■某个任务的进度超过80%以后,这些任务永远都不会启动推测执行的任务,只能等待到达一定时间以后,将它们标记为failed(失败的)任务,并重新启动另一个任务。
库文档分享
■没有考虑各个节点执行任务时速度的差异,只是将选定的推测执行的任务随机的分配给另外一个节点执行,而不管该节点是否负载。
解决方案:
■对于推测执行的任务,让它在快节点上执行;
■当某个任务的进度小于80%时,progress[i]<averageProgress–20%来计算,否则,运用
库文档分享
当节点所能提供的资源超过了任务的要求时,任务的执行速度必然会受到影响,最后会成为“拖后腿”的任务。
集群中会增加新的任务,使得系统的负载程度加深,导致有更多的任务执行速度变慢或者系统中有更多的推测执行的任务,造成恶性循环。为此,当节点负载时,就不应分配给它任务。
库文档分享
负载节点的判断方法
一个Hadoop集群中各个节点都运行着TaskTracker和DataNode进程,它们均占用着节点的资源,如CPU、内存、磁盘、网络带宽等。
由于Hadoop集群在大多数情况下是异构的,因此,不应只根据各个参数的使用情况来衡量节点是否负载,节点的性能也应该作为其依据。
库文档分享
hadoop云计算平台作业调度算法的研究 来自淘豆网m.daumloan.com转载请标明出处.