标签:企业 发展 健康 list 守护进程 作用 管理者 更新 相关
目录
? hadoop 1.x的时代,并没有Yarn,hadoop核心组件只有HDFS和MapReduce。到了hadoop2.x才有了Yarn的诞生,组件包含HDFS,MapReduce和Yarn。
? 诞生原因:hadoop 1.x存在的最大问题就是资源管理问题。技术的发展不再满足于hadoop集群中只使用MapReduce一个计算框架,人们更希望有一套合理的管理机制,来控制集群的资源管理问题。就此Yarn诞生。
全称 Yet Another Resource Negotiator。是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而 MapReduce,spark 等运算程序可以运行在YARN上,相当于应用程序运行于操作系统之上
YARN 是 Hadoop2.x 版本中的一个新特性。它的出现是为了解决第一代 MapReduce 编程框架的不足,提高集群环境下的资源利用率,这些资源包括内存,磁盘,网络,IO等。Hadoop2.X 版本中重新设计的这个 YARN 集群,具有更好的扩展性,可用性,可靠性,向后兼容性,以及能支持除 MapReduce 以外的更多分布式计算程序
YARN的特点:
Yarn最大的特点是执行调度与Hadoop上运行的任务类型无关
有两类长期运行的守护进程提供核心服务
主从结构如图
RM组件是负责资源管理的,整个系统有且只有一个 RM ,来负责资源的调度。ResourceManager 会为每一个 Application 启动一个 ApplicationMaster, 并且 ApplicationMaster 分散在各个 NodeManager 节点
RM里面还有两个重要组成部分:
ResourceManager名字就是这两个词合并而来
应用程序管理器就是负责管理 Client 用户提交的应用的管理器
主要功能:
负责接收client端传输的job请求,为应用(MapReduce 程序)分配一个Container(资源池)来运行一个Application Master
负责监控Appication Master
并且在遇到失败的时候重启Application Master
Resource Scheduler即资源调度器,是让每一个节点都充分利用起来,合理分配和调度资源的一种管理器。
值得注意的是:调度器真的只是一个调度器,不参与任何具体的和应用程序相关的工作。
NodeManager 是YARN集群当中真正资源的提供者,是真正执行应用程序的容器的提供者, 监控应用程序的资源使用情况(CPU,内存,硬盘,网络),并通过心跳向集群资源调度器 ResourceManager 进行汇报以更新自己的健康状态。同时其也会监督 Container 的生命周期管理,监控每个 Container 的资源使用(内存、CPU 等)情况,追踪节点健康状况,管理日 志和不同应用程序用到的附属服务(auxiliary service)。
ApplicationMaster 就是一个java程序,进程名:MRAppMaster
作用:负责监控Map、Reduce任务。用户提交的每一个程序都会产生一个ApplicationMaster,这个AM就是负责整个任务的一个管理者,由这个 AM去向ResourceManager 申请容器资源,获得资源后会将要运行的程序发送到容器上启动,然后进行分布式计算。
主要功能:
Yarn中的资源抽象,封装了多维度资源: 内存,cpu,磁盘等。Container就是Scheduler进行资源分配的一个单位,也是运行各个任务的容器。
Yarn是Hadoop2.x之后引入的新组件。Yarn的架构采用了主从结构,一主多从(ResourceManager & NodeManager)。Yarn在Hadoop中的功能作用有两个,第一是负责Hadoop集群中的资源管理(resource management),第二是负责对任务进行调度和监控(scheduling/monitoring)。
Hadoop系列(八)Hadoop三大核心之Yarn-资源调度初探
标签:企业 发展 健康 list 守护进程 作用 管理者 更新 相关
原文地址:https://www.cnblogs.com/valjeanshaw/p/11791988.html