yarn集群学习详解
Posted 一个测试的订阅号
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yarn集群学习详解相关的知识,希望对你有一定的参考价值。
Yarn是为了协调hdfs与计算框架之间的关系,控制整个集群的资源管理
启动yarn集群后(start-yarn.sh) 会出现两个进程 Resourcemanager(全局资源管理器) 和 Nodemanger (节点资源管理器),正是这个进程 RM 和 NM 组成了yarn
Yarn的架构:
yarn的架构与hdfs类似,也是一种主从关系(Master/Slave) 例如:在hdfs中 namenode是主节点 datanode是从节点 而在 yarn 中 RM 是主节点, NM是从节点
ResourceManager:
RM里面还有两个组成部分:调度器(schedule) 应用程序管理器(Application Manager)
ApplicationManager:
AM 主要负责接收client传输的job请求,为 mapreduce 分配 Container(资源池) 来运行我们的 Application Master,并且监控 Application Master和遇到失败时重启Application Master
注:Resource Manager 管理 Application Manager,Application Manager 管理Applicants Master
Schedule:
Schedule 合理分配和调度的管理器,不负责任何具体的应用程序工作
Application Master 当我们正常提交一个mapreduce任务时,例如 Hadoop jar xxx.jar 命令,我们在后台jps查看进程时,会多出一个MRAppMaster,而这个MRAppMaster就是Application Master
AM负责监控 map 和 reduce 任务,用户提交的每一个程序(mapreduce),都会产生一个AM,这个AM就是负责整个任务的管理者
client接收到job,AppManager下令让nodemanger开启一个AppMaster,AppMaster向调度器请求资源,开辟map和reduce
ApplicationMaster主要功能:与 RM 调度器 RS 协商获取调度资源
与NM通信,以启动任务,停止任务
监控所有旗下的任务的执行状态(map,reduce),如果失败,则会重新启动任务来申请资源
Contaniner
contaniner是yarn中的资源抽象,他封装了某个节点的多维度资源,如:内存,cpu,磁盘,网络,IO
map,reduce,Appmaster都在contaniner(资源池)里,每个程序都在对应的资源池内
yarn集群运行流程概要图
以上是关于yarn集群学习详解的主要内容,如果未能解决你的问题,请参考以下文章