一)任务流程
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工作流程的更多相关文章

  1. Hadoop随笔(一):工作流程的源码

    一.几个可能会用到的属性值 1.mapred.map.tasks.speculative.execution和mapred.reduce.tasks.speculative.execution 这两个 ...

  2. Hadoop服务库与事件库的使用及其工作流程

    Hadoop服务库与事件库的使用及其工作流程   Hadoop服务库: YARN采用了基于服务的对象管理模型,主要特点有: 被服务化的对象分4个状态:NOTINITED,INITED,STARTED, ...

  3. Spark基本工作流程及YARN cluster模式原理(读书笔记)

    Spark基本工作流程及YARN cluster模式原理 转载请注明出处:http://www.cnblogs.com/BYRans/ Spark基本工作流程 相关术语解释 Spark应用程序相关的几 ...

  4. 超人学院二期学员分享hadoop工作经验

    定于2月17日--2月23日的某一天,邀请咱们学员分享一下hadoop工作经验.对于没工作过的同学或者没从事过hadoop工作的同学,抓住机会啊,你可以提前准备自己关心的各种问题! 具体时间请关注QQ ...

  5. yarn工作流程

    YARN 是 Hadoop 2.0 中的资源管理系统, 它的基本设计思想是将 MRv1 中的 JobTracker拆分成了两个独立的服务 : 一个全局的资源管理器 ResourceManager 和每 ...

  6. kafka工作流程| 命令行操作

    1.  概述 数据层:结构化数据+非结构化数据+日志信息(大部分为结构化) 传输层:flume(采集日志--->存储性框架(如HDFS.kafka.Hive.Hbase))+sqoop(关系型数 ...

  7. OpenStack各组件逻辑关系、通信部署关系及工作流程

    一. OpenStack组件之间的逻辑关系 OpenStack 是一个不断发展的系统,所以 OpenStack 的架构是演进的,举个例子: E 版本有5个组件  Compute 是 Nova:Imag ...

  8. Yarn框架和工作流程研究

    一.概述     将公司集群升级到Yarn已经有一段时间,自己也对Yarn也研究了一段时间,现在开始记录一下自己在研究Yarn过程中的一些笔记.这篇blog主要主要从大体上说说Yarn的基本架构以及其 ...

  9. 7.hdfs工作流程及机制

    1. hdfs基本工作流程 1. hdfs初始化目录结构 hdfs namenode -format 只是初始化了namenode的工作目录 而datanode的工作目录是在datanode启动后自己 ...

随机推荐

  1. oracle 查看表空间使用比

    select b.file_name 物理文件名, b.tablespace_name 表空间, b.bytes / / 大小M, (b.bytes - sum(nvl(a.bytes, ))) / ...

  2. Mysql中用SQL增加、删除、修改(包括字段长度/注释/字段名)总结

    转: Mysql中用SQL增加.删除.修改(包括字段长度/注释/字段名)总结 2018年09月05日 10:14:37 桥Dopey 阅读数:1830   版权声明:本文为博主原创文章,未经博主允许不 ...

  3. Spring RedisTemplate常用方法(List,Hash)

    @Autowired private RedisTemplate<String, String> redisTemplate; @Override public List<Strin ...

  4. 自动创建数据库(DELPHI+SQL SERVER)

    procedure TForm1.Btn_OKClick(Sender: TObject); var sqlconn:string; begin Sqlconn:='Provider=SQLOLEDB ...

  5. H3C 模拟器 pc与sw直连 登录web

    配置与上一节相同 开启web功能,并登录 [sw1]ip http enable [sw1]local-user admin New local user added. [sw1-luser-mana ...

  6. Bug解决:mysql 创建表字段Double类型长度

    excel导入数据进行新增时,发现安装高度和可视距离在数据库创建都是double类型 程序跑完,执行成功后,数据库的数据是2,小数点后的数据没有了 打印sql并执行后发现sql并没有错误, 检查数据库 ...

  7. 338.比特位计数( Counting Bits)leetcode

    附上:题目地址:https://leetcode-cn.com/problems/counting-bits/submissions/ 1:题目: 给定一个非负整数 num.对于 0 ≤ i ≤ nu ...

  8. 面试题 :10亿url去重只给4G内存

    我能想到的有以下几种: 用语言判断去重,ex表格去重,数据库去重,文件名字去重, 有人说:10亿url ex表放不下!! 可以用树和折半的思想将10亿url,变成单元最小化的树,然后用ex表去重 ex ...

  9. C#实现多线程的方式:使用Parallel类

    简介 在C#中实现多线程的另一个方式是使用Parallel类.  在.NET4中 ,另一个新增的抽象线程是Parallel类 .这个类定义了并行的for和foreach的 静态方法.在为 for和 f ...

  10. 将对象以json格式写入到文件中

    将 list 对象以json格式写入到文件中 try { ObjectMapper mapper = new ObjectMapper(); String value = mapper.writeVa ...