一、什么是Yarn?
Yarn(Yet Another Resource Negotiator)
是一个分布式资源管理系统,主要负责资源管理,任务的监控和调度分离
(1)通用的资源管理系统,可为不同的应用提供统一的资源管理和调度
(2)它的引用为集群在利用率、资源同一管理和数据共享等方面带来好处
在Hadoop2.x版本添加YARN
二、YARN的基本架构核心组件
1.yarn的架构是master/slaves的主从结构
master:ResourceManage——》全局资源管理器
负责集群全局统一的资源管理、调度、分配
slaves: NodeManage->接待你资源管理器
启动NodeManage进程的节点
负责管理节点的资源及使用情况
2.YARN的核心组件
ResourceManager
(1)ResourceManager组成
ResourceScheduler->资源管理器,根据节点的容量、队列情况,为应用程序分配资源
Application Manager->应用程序管理器。负责接受Client端传输的job请求
(2)ResourceManager功能
处理客户请求
监控NodeManager
启动和监控ApplicationMaster,进行必要的重启
整个系统的资源分配和调度
NodeManager
(1)本节点的资源管理和任务管理
(2)定时向ResourceManager汇报本节点上资源使用情况和各个Container的运行情况
(3)接收和处理来自ResourceManager的Container的运行情况启动和接受和停止的各种命令
(4)处理来自ApplicationMaster的指令,比较启动MapTask和ReduceTask指令
ApplicationMaster
(1)每个应用程序对应一个ApplicationMaster,负责单个应用程序的管理
(2)负责数据切分
(3)为应用程序向ResourceManager申请资源(Container),并分配内部任务(Container),并分配内部任务(MapTask和ReduceTask)
(4)在NodeManager通信来启动/停止任务,Task都是运行在Container中的
(5)负责任务的监控和容错,当某些Task运行出错,进行绒容错处理
Container
(1)Container是YARN中的资源抽象,封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络
(2)Container类似于一个虚拟机,可以在上面执行任务
三、Yarn的工作机制
四、启动JobHistoryServer
JobHistoryServer:作业历史服务
修改 mapred-site.xml配置文件
vi mapred-site.xml
配置日志聚集功能和日志保留时间
vi yarn-site.xml
如果此时已经启动yarn,那么先关闭
stop-yarn.sh
开启yarn服务
start-yarn.sh
查看启动情况
jps
端口号说明:
8088 All Application
19888 JobHistory
附录:
搭建集群,使用cloudra Manager可以很方便的配置