目录
概念
Apache yarn 是Hadoop的集群资源管理系统。yarn被引入Hadoop2,最初是为了改善MapReduce的实现,但它具有足够的通用性,同样可以支持其他的分布式计算框架。不同的应用系统,如flink,spark,mr都可以用统一的yarn进行资源调配
yarn通过两类长期运行的守护进程提供自己的核心服务:资源管理器(Resource Manager rm)和节点管理器(Node Manager nm)。
类似hdfs,主从模式,由一个 ResourceManager和多个NodeManage 组成。
运行机制
客户端向rm提交应用或任务
每个应用都有一个Application master,需要容器,Application master跟rm申请资源
rm经过scheduler调度器计算,根据每个节点资源情况,进行容器的分配、scheduler在某个nm上启动一个容器,在容器中启动Application master。
application master后续会进行计算,把结果返回给客户端,或向rm申请更多的容器。后者是MapReduce yarn应用的操作。
yarn本身不会为应用的各部分的通信提供任何手段,大多数的yarn应用通过某种形式的远程通信机制,向客户端传递状态更新和返回结果,这些通信机制都是属于各应用本身。
nm每隔一秒,向rm发送心跳,从节点会监控所在节点的资源使用情况。
rm会追踪nm的存活情况。