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启动后自己 ...
随机推荐
- ArrayList去除集合中字符串的重复值
package com.heima.list; import java.util.ArrayList; import java.util.Iterator; import java.util.List ...
- rabbiit报错处理
一.ping不同download.yunwei.edu 内网服务地址必须在前面 [root@localhost ~]# vim /etc/resolv.conf # Generated by Netw ...
- Java 语言实现 MD5 加密
Java 语言实现 MD5 加密 背景说明 在实际项目中,为了安全性考虑,经常要求账号密码是以加密后的密文形式,保存到数据库中. 这样,即使有人获取到了数据库中的密文密码,也不知道明文密码信息是什么, ...
- SAS数据挖掘实战篇【五】
SAS数据挖掘实战篇[五] SAS--预测模型 6.1 测模型介绍 预测型(Prediction)是指由历史的和当前的数据产生的并能推测未来数据趋势的知识.这类知识可以被认为是以时 间为关键属性的关联 ...
- CnPack 开源软件项目
Cnpack公共窗体库 ------------------------------ CnPack 2009-09-14 SVN 包,包括以下内容: 1. CnPack 组件包所有源代码.2. CnP ...
- This application's application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed.
真机运行测试的时候Xcode会报这样的错误: 原因: 你的手机上已经安装了此项目. 解决办法: 把你以前安装的卸掉, 或者把这个项目的 bunldID 改了,再次运行即可.
- 认识Redis持久化
一:为什么需要持久化 因为Redis是一个完全使用内存来存储数据的数据库,如果机器突然断电.服务器重启或进程挂掉了等等原因,那么存储在Redis中的数据就会丢失,从而引起业务的损失.为了保证存储在内存 ...
- Golang 单例模式 singleton pattern
在Java中,单例模式的实现主要依靠类中的静态字段.在Go语言中,没有静态类成员,所以我们使用的包访问机制和函数来提供类似的功能.来看下下面的例子: package singleton ...
- 查看自身公网ip的命令
curl ifconfig.me curl cip.cc curl ipinfo.io
- [转] c++加载外部库文件探究
首先介绍:用#import导入dll和用#pragma comment导入lib还有在程序中LoadLibrary加载dll有什么区别 (1) #import导入的dll是com组建的dll,主要用来 ...