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启动后自己 ...
随机推荐
- Python面向对象进阶和socket网络编程
写在前面 为什么坚持?想一想当初: 一.面向对象进阶 - 1.反射补充 - 通过字符串去操作一个对象的属性,称之为反射: - 示例1: class Chinese: def __init__(self ...
- Nginx OCSP
#开启 vim /path/to/path/conf/nginx.conf ..... events{ ...... 省略..... } http { ..... server{ listen 44 ...
- [Python]机器学习:PageRank原理与实现
前言 PageRank是TextRank的前身.顾名思义,TextRank用于文本重要性计算(语句排名)和文本摘要等NLP应用,而Page最初是因搜索引擎需要对网页的重要性计算和排名而诞生.本着追本溯 ...
- GitLab 架构
GitLab 架构官方文档 GitLab 中文文档 版本 一般使用的是社区版(Community Edition,CE),此外还有企业版(Enterprise Edition,EE)可以使用. EE ...
- 利用delve(dlv)在Visual Code中进行go程序的远程调试-debug方式
最近碰到一个问题,如何在Windows的IDE或者文本编辑器上,远程调试Linux服务器上的golang程序. 虽然想说gdb走你,但既然go有dlv这样的类似Java的jdwp的原生方案,而且我用的 ...
- 0-1 RSS订阅
RSS订阅 RSS是什么 中文维基百科对RSS的介绍 w3school对RSS的介绍 少数派的RSS介绍 RSS阅读器 Feedly:注册使用即可,一个账号可以订阅200个RSS源,完全足够日常需要 ...
- git 提交项目到远程仓库,简单实现忽略 node_modules文件
在项目根目录中创建 .gitignore文件 在文件中添加你要忽略的文件 .DS_Store node_modules /dist # local env files .env.local .env. ...
- ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE、personal/File、ShapeFile、CAD数据、影像图、影像数据集)
ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业数据库需要使用SDE来管理,所以需要使用SDE的Workspace来表示连接.在AE接口中, ...
- __setattr__,__getattr__,__delattr__
class Foo: x = 1 def __init__(self,y): self.y = y def __getattr__(self,item): print("---->fr ...
- Redis高级主题
Redis高级主题 持久化 Redis 支持持久化, 其持久化数据有两种方式. 两种可以同时使用. 如果同时使用, Reids 在重启时将使用 AOF 方式来还原数据. RDB 按照一定策略定时同 ...