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启动后自己 ...
随机推荐
- dokcer部署code-server web版vscode
#dokcer部署code-server web版vscode codercom/code-server:latest不支持插件在线安装 codercom/code-server:v2目前为最新版1. ...
- wpf 父控件和子控件 各自触发鼠标按下事件
父控件 PreviewMouseDown子控件 MouseDown
- document.documentElement 和 document.body
MDN : The Document.documentElement read-only property returns the Element that is the root element o ...
- java:LeakFilling(Other)
1.Java项目的API文档如何生成?请将步骤写出. javadoc 源文件名.java; 2.增加package以后,我们在DOS下编译怎么做? javac -d . Test.java 3.Jav ...
- Jenkins - 【转】高效插件推荐
特别说明:本文是在原文基础上的改写和添加,但总体不影响原文表达,特此说明. 原文链接 - Jenkins 高效插件推荐 | 运维生存时间 前言 开源版本的Jenkins具有三大能力: Master-S ...
- 备份和恢复IMail数据/IMail的服务端口
1.备份和恢复IMail数据 首先你需要备份它的系统文件.方法是将“\imail”整个目录树复制下来. 其次还需要备份它的注册表.可选“localhost→General→Backup”来复制:或打开 ...
- Centos7永久关闭防火墙
Centos7永久关闭防火墙 查看防火墙状态: systemctl status firewalld.service 绿的running表示防火墙开启 执行关闭命令: systemctl stop f ...
- pickle.dump()和pickle.load()
python的pickle模块实现了基本的数据序列和反序列化. 通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储: 通过pickle模块的反序列化操作,我们能够从 ...
- U盘安装win7"安装程序无法创建新的系统分区" 怎么办
装WIN7的朋友,不知遇到该类问题没有: 当我们通过PE进行WIN7 纯安装的时候(非ghost安装),系统提示”安装程序无法创建新的系统分区,也无法定位现有分区“,迫使我们操作终断,无法进行. 面 ...
- Eclipse新建新的工作空间,将原有的配置全部或部分复制
1.部分复制 File->Switch workspace->Other...,按下图选择 只复制简单的配置,如cvs之类的信息是不会复制的. 2.全部复制(build path) 在1. ...