hadoop工作流程
一)任务流程
1)Mapreduce程序启动一个Jobclient实例,开启整个mapreduce作业
2)Jobclient通过getnewjobld()j接口向Jobtarker发出请求,以获得一个新的作业ID。
3)Jobclient根据作业指定的输入文件计算数据块的划分,并将完成作业所需要的资源,包括JAR文件,配置文件,数据块,存放到HDFS中属于jobtracker的作业ID命令的目录下,一些文件可能以冗余的方式存放多个节点上。
4)完成上述工作以后,Jobclient通过调用jobTracker的submitjob()接口提交作业。
5)Jobtracker将提交的作业放入一个作业队列中等待作业的初始化工作,初始化工作主要是创建一个代表此作业的运行对象,作业的运行对象由封装了作业包含任何的任务和任务运行状态的记录信息。
6)Jobtracker需要从HDFS文件系统中取出Jobclient放好的数据,并根据输入数据创建对应数量的MAP任务,同时根据jobconf配置文件中定义的数量生成reduce任务。
7)Tasktracker和jobtraker间通过心跳信息维持通信,根据这个信息,jobtracker将map任务和reduce任务分配给tasktracker.
8)被分配任务的tasktracker从HDFS文件系统中取出所需的文件,包含JAR文件和任务所对应的数据文件,并保存进本地磁盘,并启动一个taskrunner程序实例准备运行任务。
9)Tasktracker在虚拟机中根据任务类别创建出map task,或reduce task进行并行运算。
二)mapreduce作业的运行流程
Client:client节点上运行了mapreduce程序和jobclient.负责提交mapreduce
作业和为用户显示处理结果。
Jobclient:负责调度协调mareduce作业的执行,是mapreduce的主控节点。分配map任务和reduce执行节点,监控任务的执行。
运行流程:
1)作业的提交
Mapreduce程序启动一个Jobclient实例,开启整个mapreduce作业
Jobclient通过getnewjobld()j接口向Jobtarker发出请求,以获得一个新的作业ID。
Jobclient根据作业指定的输入文件计算数据块的划分,并将完成作业所需要的资源,包括JAR文件,配置文件,数据块,存放到HDFS中属于jobtracker的作业ID命令的目录下,一些文件可能以冗余的方式存放多个节点上。
完成上述工作以后,Jobclient通过调用jobTracker的submitjob()接口提交作业。
2)作业的初始化
Jobtracker用队列机制处理多个请求,收到的请求会放入一个内部队列中,由作业调度器处理,初始化内容就是创建一个实例,用于后续跟踪和调度此作业,jobtracker要从分布式文件系统中取出joclient存放的数据分片信息,以此决定创建map任务的数量,并创建实例监控和调度map任务,而需要创建的reduce任务数量由实例配置文件中的参数决定
hadoop工作流程的更多相关文章
- Hadoop随笔(一):工作流程的源码
一.几个可能会用到的属性值 1.mapred.map.tasks.speculative.execution和mapred.reduce.tasks.speculative.execution 这两个 ...
- Hadoop服务库与事件库的使用及其工作流程
Hadoop服务库与事件库的使用及其工作流程 Hadoop服务库: YARN采用了基于服务的对象管理模型,主要特点有: 被服务化的对象分4个状态:NOTINITED,INITED,STARTED, ...
- Spark基本工作流程及YARN cluster模式原理(读书笔记)
Spark基本工作流程及YARN cluster模式原理 转载请注明出处:http://www.cnblogs.com/BYRans/ Spark基本工作流程 相关术语解释 Spark应用程序相关的几 ...
- 超人学院二期学员分享hadoop工作经验
定于2月17日--2月23日的某一天,邀请咱们学员分享一下hadoop工作经验.对于没工作过的同学或者没从事过hadoop工作的同学,抓住机会啊,你可以提前准备自己关心的各种问题! 具体时间请关注QQ ...
- yarn工作流程
YARN 是 Hadoop 2.0 中的资源管理系统, 它的基本设计思想是将 MRv1 中的 JobTracker拆分成了两个独立的服务 : 一个全局的资源管理器 ResourceManager 和每 ...
- kafka工作流程| 命令行操作
1. 概述 数据层:结构化数据+非结构化数据+日志信息(大部分为结构化) 传输层:flume(采集日志--->存储性框架(如HDFS.kafka.Hive.Hbase))+sqoop(关系型数 ...
- OpenStack各组件逻辑关系、通信部署关系及工作流程
一. OpenStack组件之间的逻辑关系 OpenStack 是一个不断发展的系统,所以 OpenStack 的架构是演进的,举个例子: E 版本有5个组件 Compute 是 Nova:Imag ...
- Yarn框架和工作流程研究
一.概述 将公司集群升级到Yarn已经有一段时间,自己也对Yarn也研究了一段时间,现在开始记录一下自己在研究Yarn过程中的一些笔记.这篇blog主要主要从大体上说说Yarn的基本架构以及其 ...
- 7.hdfs工作流程及机制
1. hdfs基本工作流程 1. hdfs初始化目录结构 hdfs namenode -format 只是初始化了namenode的工作目录 而datanode的工作目录是在datanode启动后自己 ...
随机推荐
- mybatis如何遍历Map的key和value【增删改查】
转: mybatis如何遍历Map的key和value 2017年11月28日 10:07:57 Joker_Ye 阅读数:4158 1.sql.xml <?xml version=&quo ...
- 接入上一篇SSM框架整合示例
需要创建相应的包与文件夹 Book数据表作为本示例数据 搭建项目开始 首先有bean后 private int id; private String name; private int cnt; 第一 ...
- Returning array from function in C
以下为了通俗易懂,使用意译. I've here very intersting discussion about the best and common ways to return an arra ...
- delphi怎么一次性动态删除(释放)数个动态创建的组件?
比如procedure TForm1.Button1Click(Sender: TObject);vari:Integer;lbl: TLabel;beginfor i:=1 to 3 dobegin ...
- k8s测试容器之间是否互通
[root@lab2 .kube]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE curl-87b54756-rbqz ...
- 对JavaScript事件处理程序/事件监听器的设定的简单介绍
下面是一些对事件处理进行设定的方式. 指定为HTML元素的属性(事件处理程序) 指定为DOM元素的属性(事件处理程序) 通过EventTarget.addEventListener()进行指定(事件监 ...
- 【DSP开发】【并行计算-CUDA开发】TI OpenCL v01.01.xx
TI OpenCL v01.01.xx TI OpenCL™ Runtime Documentation Contents: Introduction OpenCL 1.1 Reference Mat ...
- MSF魔鬼训练营-3.3.2 口令猜测与嗅探
密码暴力破解以SSH为例,其他协议方法类似 SSH msf > use auxiliary/scanner/ssh/ssh_login msf auxiliary(ssh_login) ...
- HighGo瀚高数据库4.3版本安装说明
1. 通过与瀚高同事沟通, 获取到安装文件(点赞一下瀚高的同事, 效率很高并且说明的很完整) 瀚高是基于postgresql数据库做的深度定制开发的国产数据库. 不仅仅支持x86 也支持龙芯等全国产安 ...
- ZooKeeper原理及介绍
Zookeeper简介 1.1 什么是Zookeeper ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是大数据生态中的重要组件.它是 ...