YARN
YARN
YARN是在Hadoop2.0出现的类似于手机操作系统的,类似IOS,用来管理安装在其上的插件的工具,和Hadoop1.0做一个比较
yarn上面可以有很多插件安装在上面
一、Yarn
1、定位:分布式操作系统
作用:资源整合,为了让系统资源利用最大化,
在同一套硬件集群上同时可以运行MR任务、Spark任务、Storm任务
2、ResourceManager(RM)整个Yarn的主:资源管理系统
RM负责1.0中jobtracker中的资源分配
ApplicationManager(AM)负责任务调度:应用程序Master(本质上也是一个普通的Container)
RM有一个可插拔的调度组件Scheduler(可插拔,有很多选项)
分为FIFO先进先出、专有队列、公平调度
第一种就是先来的任务先运行,大的应用占用所有资源,不适合集群使用
第二种是专有对列运行小任务,预先占用一部分集群资源,容易造成浪费
第三种不需要占用,动态调整,公平分配
NM:Tasktracker的角色,接收RM的请求,分配Container资源,通过心跳给RM汇报监控,并且管理当前节点内部的资源利用情况
container:是个进程,NM来启动、并且监控Container,通过心跳上报给RM
在1.0中jobtracker:资源分配、任务调度(包含监控),但是在2.0中,RM用于资源分配,AM用于任务调度,将jobtracker的绝对权力进行了肢解
Container资源:
hadoop1.0:资源称为slot,map slot和reduce slot
slot比作小区停车位,普通小轿车,大型卡车有自己的停车位,不能停到对方的停车位中
slot是资源调配单元,slot决定cpu和内存大小
hadoop1.0一个节点默认启动两个map slot和reduce slot
slot只是一个令牌或者是一种许可证,只是一个逻辑的概念
hadoop2.0:资源称为container
任务从客户端进入,进入到RM,RM将任务下发到NM,NM里面的container进程启动一个AM线程,说明自己需要多少资源,将需求发送给RM,RM重新分配任务给一个NM,NM启动一个container开始跑AM任务
yarn的容错能力
• RM挂掉:单点故障,新版本可以基于Zookeeper实现HA高可用集群,可通过 配置进行设置准备RM,主提供服务,备同步主的信息,一旦主挂掉,备立即做 切换接替进行服务
• NM挂掉:不止一个,当一个挂了,会通过心跳方式通知RM,RM将情况通知对 应AM,AM作进一步处理
• AM挂掉:若挂掉,RM负责重启,其实RM上有一个RMApplicationMaster, 是AM的AM,上面保存已经完成的task,若重启AM,无需重新运行已经完成的 task