Hadoop核心之MapReduce架构设计

简介: Hadoop主要由两大部分组成,一个是分布式文件系统即HDFS,另一个是分布式计算框架MapReduce。关于HDFS详细介绍请参考:【Hadoop核心之HDFS 架构设计】本篇重点介绍分布式计算框架MapReduce。在Hadoop的MapReduce框架中主要涉及到两个组件:JobTracker和TaskTracker(HDFS中的组件是NameNode和Data

Hadoop主要由两大部分组成,一个是分布式文件系统即HDFS,另一个是分布式计算框架MapReduce。

关于HDFS详细介绍请参考:【Hadoop核心之HDFS 架构设计

本篇重点介绍分布式计算框架MapReduce。在Hadoop的MapReduce框架中主要涉及到两个组件:JobTrackerTaskTracker(HDFS中的组件是NameNode和DataNode),下面我们就分别看一下这两个组件。

TaskTracker

TaskTracker一个hadoop计算进程,运行在hadoop集群的datanode节点上。taskTracker的主要任务是运行JobTracker分配给它的实际计算任务,如运行Map、Reduce函数,当然也包括Shuffle过程。TaskTracker任务具体运行在一组slots上,slots的数量可以配置,一般slots的数量会配置成和这台机器的CPU核心数量一致。当TaskTracker收到JobTracker分配的一个task时,JobTracker会为这个task单独启动一个jvm进程,也就是说,每个map、reduce任务都会单独运行在一个jvm进程中(jvm也可以重用,这里不多做介绍)。TaskTracker被分配的task数量决定于当前还有多少个空闲的slots。TaskTracker在运行task的过程中会向JobTracker发送心跳信息,发送心跳出了要告诉JobTracker自己是否存活外,心跳信息中还包含当前空闲的slots数量等信息。

JobTracker

JobTracker进程的作用是运行和监控MapReduce的Job,当一个客户端向JobTracker提交任务时,过程如下图:

这里写图片描述

1. JobTracker接收Job请求
2. JobTracker根据Job的输入参数向NameNode请求包含这些文件数据块的DataNode节点列表
3. JobTracker确定Job的执行计划:确定执行此job的Map、Reduce的task数量,并且分配这些task到离数据块最近的节点上
4. JobTracker提交所有task到每个TaskTracker节点。TaskTracker会定时的向JobTracker发送心跳,若一定时间内没有收到心跳,JobTracker就认为这个TaskTracker节点失败,然后JobTracker就会把此节点上的task重新分配到其它节点上
5. 一旦所有的task执行完成,JobTracker会更新job状态为完成,若一定数量的task总数执行失败,这个job就会被标记为失败
6. JobTracker发送job运行状态信息给Client端

关于Job执行过程的更详细的信息,请参考【 Hadoop工作机制

目录
相关文章
|
14天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
36 2
|
4月前
|
分布式计算 Hadoop
Hadoop系列 mapreduce 原理分析
Hadoop系列 mapreduce 原理分析
40 1
|
4月前
|
SQL 存储 分布式计算
【大数据技术Hadoop+Spark】Hive数据仓库架构、优缺点、数据模型介绍(图文解释 超详细)
【大数据技术Hadoop+Spark】Hive数据仓库架构、优缺点、数据模型介绍(图文解释 超详细)
192 0
|
4月前
|
存储 分布式计算 负载均衡
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
59 0
|
4月前
|
存储 分布式计算 Hadoop
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
120 0
|
1月前
|
资源调度 分布式计算 Hadoop
Apache Hadoop YARN基本架构
【2月更文挑战第24天】
|
6月前
|
存储 分布式计算 Hadoop
【大数据处理框架】Hadoop大数据处理框架,包括其底层原理、架构、编程模型、生态圈
【大数据处理框架】Hadoop大数据处理框架,包括其底层原理、架构、编程模型、生态圈
138 0
|
3月前
|
存储 分布式计算 监控
什么是Hadoop?请简要解释其架构和组件。
什么是Hadoop?请简要解释其架构和组件。
34 0
|
3月前
|
存储 分布式计算 监控
Hadoop的JobTracker和TaskTracker在MapReduce中的作用是什么?
Hadoop的JobTracker和TaskTracker在MapReduce中的作用是什么?
55 0
|
3月前
|
资源调度 分布式计算 监控
Hadoop中的YARN是什么?请解释其作用和架构。
Hadoop中的YARN是什么?请解释其作用和架构。
54 0