Hadoop2.x 让你真正明白yarn

问题导读 1.hadoop1.x中mapreduce框架与yarn有什么共同点? 2.它们有什么不同点? 3.yarn中有哪些改变? 4.yarn中有哪些术语? 原文:about云日志分析项目准备6-3-1:Hadoop2.x 让你真正明白yarn http://www.aboutyun.com/forum.php?mod=viewthread&tid=20888 相同点 hadoop2.x的发展是由于hadoop1.x的问题造成的。 那么是什么问题造成的。比较流行的说法是jobtracker的问题,比如单点故障,任务过重。我们知道了除了Jobtracker,同时还有一个TaskTracker。我们看下图:

上图中,有一个JobTracker,多个TaskTracker。 Yarn比较 我们在来看yarn

我们看到有一个ResourceManager,多个NodeManager。 也就是说hadoop1.x mapreduce框架与hadoop2.x yarn,他们的框架相同之处,都是分布式的。 再次总结相同处: JobTracker一个,TaskTracker多个 resourceManager一个,NodeManager多个 不同点 既然他们框架结构是相同的,那么到底是什么原因,淘汰JobTracker机制。 这时候我们就需要看看JobTracker到底干了哪些事情。

再看上图:

JobTacker概述 JobTacker其承担的任务有:接受任务、计算资源、分配资源、与DataNode进行交流。 在hadoop中每个应用程序被表示成一个作业,每个作业又被分成多个任务,JobTracker的作业控制模块则负责作业的分解和状态监控。 *最重要的是状态监控:主要包括TaskTracker状态监控、作业状态监控和任务状态监控。主要作用:容错和为任务调度提供决策依据。 TaskTracker概述 TaskTracker是JobTracker和Task之间的桥梁:一方面,从JobTracker接收并执行各种命令:运行任务、提交任务、杀死任务等;另一方面,将本地节点上各个任务的状态通过心跳周期性汇报给JobTracker。TaskTracker与JobTracker和Task之间采用了RPC协议进行通信 TaskTracker的功能: 1.汇报心跳:Tracker周期性将所有节点上各种信息通过心跳机制汇报给JobTracker。这些信息包括两部分: *机器级别信息:节点健康情况、资源使用情况等。 *任务级别信息:任务执行进度、任务运行状态等。 2.执行命令:JobTracker会给TaskTracker下达各种命令,主要包括:启动任务(LaunchTaskAction)、提交任务(CommitTaskAction)、杀死任务(KillTaskAction)、杀死作业(KillJobAction)和重新初始化(TaskTrackerReinitAction)。 资源slot概述 slot不是CPU的Core,也不是memory chip,它是一个逻辑概念,一个节点的slot的数量用来表示某个节点的资源的容量或者说是能力的大小,因而slot是 Hadoop的资源单位。 hadoop中什么是slots http://www.aboutyun.com/forum.php?mod=viewthread&tid=7562 yarn详解 Yarn的基本思想是拆分资源管理的功能,作业调度/监控到单独的守护进程 这里面出现了很多名词: ResourceManager,NodeManager,ApplicationMaster,Container,同样下面亦是yarn结构图。 ResourceManager是全局的,负责对于系统中的所有资源有最高的支配权。 ApplicationMaster 每一个job有一个ApplicationMaster 。 NodeManager,NodeManager是基本的计算框架。 NodeManager 是客户端框架负责 containers, 监控他们的资源使用 (cpu, 内存, 磁盘, 网络) 和上报给 ResourceManager/Scheduler. ApplicationMaster首先它是一个框架库,它的功能官网说的不够系统,大意,由于NodeManager 执行和监控任务需要资源,所以通过ApplicationMaster与ResourceManager沟通,获取资源。换句话说,ApplicationMaster起着中间人的作用。 转换为更专业的术语:AM负责向ResourceManager索要NodeManager执行任务所需要的资源容器,更具体来讲是ApplicationMaster负责从Scheduler申请资源,以及跟踪这些资源的使用情况以及任务进度的监控。 ResourceManager有两个组件:调度器和应用程序管理器。 调度器(Scheduler)是可插拔的,比如有Fair Scheduler、Capacity Scheduler等,当然调度器也可以自定义。 更多相关内容: Hadoop YARN配置参数剖析(4)—Fair Scheduler、Capacity Scheduler相关参数 http://www.aboutyun.com/forum.php?mod=viewthread&tid=5864 应用程序管理器 负责接收提交的任务,指定ApplicationMaster申请资源(container) ,协调并提供在ApplicationMaster容器失败时的重启功能。 而下图也是官网提供内容,大家可以参考下。

总结 为了更好的理解,我们就需要跟hadoop1.x比较: 为何要使用yarn。 我们看到JobTracker的功能被分散到各个进程中包括ResourceManager和NodeManager: 比如监控功能,分给了NodeManager,和Application Master。 ResourceManager里面又分为了两个组件:调度器及应用程序管理器。 也就是说Yarn重构后,JobTracker的功能,被分散到了各个进程中。同时由于这些进程可以被单独部署所以这样就大大减轻了单点故障,及压力。 同时我们还看到Yarn使用了Container,而hadoop1.x中使用了slot。slot存在的缺点比如只能map或则reduce用。Container则不存在这个问题。这也是Yarn的进步。

原文发布于微信公众号 - about云(wwwaboutyuncom)

原文发表时间:2017-02-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏恰童鞋骚年

Hadoop学习笔记—21.Hadoop2的改进内容简介

Hadoop2相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要...

952
来自专栏大数据

Spark Streaming入门

本文将帮助您使用基于HBase的Apache Spark Streaming。Spark Streaming是Spark API核心的一个扩展,支持连续的数据流...

7049
来自专栏编程

Spark踩坑记:Spark Streaming+kafka应用及调优

作者:肖力涛 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消...

2295
来自专栏Albert陈凯

第三章 Spark机制与原理

循序渐进学Spark 本书前面几章分别介绍了Spark的生态系统、Spark运行模式及Spark的核心概念RDD和基本算子操作等重要基础知识。 本章重点讲解Sp...

3556
来自专栏Spark学习技巧

关于Spark Streaming感知kafka动态分区的问题

本文主要是讲解Spark Streaming与kafka结合的新增分区检测的问题。读本文前关于kafka与Spark Streaming结合问题请参考下面两篇文...

1544
来自专栏Albert陈凯

课程主要内容Spark介绍

我们学习Spark首先要知道Spark是什么 ? image.png 这段内容呢,是老师从官网上摘抄下来的,Spark是一个快速的统一的大数据处理引擎 Spar...

3184
来自专栏加米谷大数据

Spark核心技术原理透视二(Spark运行模式)

上一章节详细讲了Spark的运行原理,没有关注的童鞋可以关注加米谷大数据查看上一章节的详细内容。通过Spark运行原理的讲解大家了解了Spark在底层的运行,那...

6627
来自专栏IT技术精选文摘

Apache Hadoop入门

介绍 本文要介绍的Apache Hadoop是一个使用简单高级编程模型实现的对大型数据集进行分布式存储和处理的软件框架。文章涵盖了Hadoop最重要的概念,对其...

3005
来自专栏王小雷

Hadoop YARN学习之核心概念(2)

Hadoop YARN学习之核心概念(2) 1. Hadoop 2.X YARN引入的新服务 1.1 新的ResourceManager纯碎作为资源调度器,是集...

26510
来自专栏用户画像

Spark Streaming

Spark Streaming 是spark提供的对实时数据进行流式计算的组件。比如生产环境中的网页服务器日志,或者网络服务中用户提交的状态更新组成的消息队列,...

2302

扫码关注云+社区

领取腾讯云代金券