1.YARN是什么,为什么会产生YARN,它解决了什么问题?
Yarn是一个分布式的资源管理系统,它是hadoop集群的资源管理系统,它使得各种类型的应用可以运行在hadoop上面,并通过Yarn从系统层面进行统一管理,使得各种应用共享集群资源
它诞生的原因是原来的MapReduce框架中的一些不足:
(1) JobTracker单点故障隐患,一旦master出现故障,将导致整个集群不可用
(2) JobTracker承担的任务太多,同时兼备了资源管理和作业控制两个功能
(3) 在taskTracker端,使用map/reduce task表示资源过于简单, 基于槽位的资源分配模型,这是一种粗粒度的资源化分单位,槽位的种类又分为两种,并且两种之间资源不共享,易造成资源的浪费
(4) 克服原来mapreduce无法支持多种计算框架的局限
解决的问题:
(1) 资源利用率提高,
抛弃之前的一种计算框架一个集群模式的模式,改为共享模式通过多种框架共享资源,使得集群中的资源充分利用
(2) 运维成本低
共享模式只需要少数管理员统一管理一个集群
(3) 数据共享
跨集群数据移动耗时且硬件成本也高,共享模式使得多种计算框架共享数据和硬件,大大减少成本
2.应用程序提交到YARN之后的执行流程是什么,请简要描述?
(1)客户端程序向ResourceManager提交应用并请求一个Application