文档章节

HADOOP MR架构分析 JobTracker 和 TaskTracker

原创学无止境
 原创学无止境
发布于 2017/04/24 14:39
字数 388
阅读 27
收藏 0
HADOOP 中 MR架构 是基于网络的架构。其中有两个比较重要的类:JobTracker 和 TaskTracker,JobTracker 和 TaskTracker 是一对多的关系, 多个 TaskTracker主动地向JobTracker发送请求(称作heartbeat),JobTracker接收到请求后,要完成一个最重要的工作就是为该TaskTracker分配一个actions列表,这里面包含了该TaskTracker需要执行的任务(task)集合。
TaskTracker接收到这个action列表时,会调用TaskLauncher的方法把task加入到tasksToLaunch这个list中。
TaskLauncher是一个线程,会不断处理tasksToLaunch这个llist。通过创建TaskRunner这个线程,TaskRunner则要委派JvmManager执行,JvmManager分析是否需要启动新的JVM,还是沿用处于空闲状态的JVM来启动这个任务。最后会交给UNIXProcess这个java.lang.Process的类来真正运行Task。
TaskRunner比较重要,要准备JVM运行的一些参数vmargs:
java路径,
mapred.child.java.opts 参数值
-Djava.library.path
-Djava.io.tmpdir
log4j的一些参数
org.apache.hadoop.mapred.Child(main class)
VM Environment

一个Job被提交后,会有一个JobInProgress与之对应,JobInProgress会被分割成多个任务(task),并被初始化,这要通过读取一个配置项{job.splitmetainfo}对应的文件得到,而这个job分割元数据文件是在JobClient提交job时,通过writeSplit()计算出来的。

NIXProcess调用系统bash程序,以org.apache.hadoop.mapred.Child为Mainclass来执行。

Child会根据Task的类型执行MapTask和ReduceTask, 并借助Reflection来调用用户自定义的Mapper类,但用户自定义的Reducer类是直接调用的。

© 著作权归作者所有

原创学无止境
粉丝 1
博文 14
码字总数 25526
作品 0
徐汇
程序员
私信 提问
hadoop recovery

JobTracker 暂无容错机制,挂掉之后,需要人工介入,重启。 用户可以通过配置一些参数,以便JobTracker重启后,让所有作业恢复运行。用户配置若干参数后,JobTracker重启前,会在history log...

Carlos_Tse
2013/05/05
170
0
hadoop学习二:MapReduce源码分析总结

1、Map-Reduce的逻辑过程 假设我们需要处理一批有关天气的数据,其格式如下: 按照ASCII码存储,每行一条记录 每一行字符从0开始计数,第15个到第18个字符为年 第25个到第29个字符为温度,其...

SibylY
2013/09/13
1K
1
Hadoop Mapreduce架构--Hadoop技术内幕读书笔记

1、Client 用户编写的MapReduce程序通过Client提交到JobTracker端;同时,用户可通过Client提供的一些接口查看作业运行状态。在Hadoop内部用“作业”Job表示MapReduce程序。一个MapReduce程序...

fmz
2014/04/01
355
0
Hadoop中的MapReduce(5)

在MapReduce中,它也是主从结构,主节点:JobTracker,从节点:TaskTracker。主节点只有一个从节点有很多个,主节点在主机上,从节点分布到其他机器上。 JobTracker: 作用: 1、负责接收用户...

肖鋭
2014/02/23
107
0
hadoop两大核心之一:MapReduce总结

MapReduce MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,MapReduce程序 本质上是并行运行的,因此可以解决海量数据的计算问题. MapReduce任务过程被分为两个处理阶段:map阶段...

迪allen
2014/03/27
2.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部