Yarn的应用场景与原理
Yarn产生的背景
hadoop1.0不能满足多系统集成的背景孕育了yarn的产生。由于多分布式系统可以很好的集成,因此yarn的出现使得整个集群的运维成本大大降低。同时,yarn可以很好的利用集群资源,避免资源的浪费,除此之外,yarn的出现实现了集群的数据共享问题,不同的分布式计算框架可以实现数据的共享。总结来说为以下两点:
直接源于MR在几个方面的缺陷
-扩展性受限
-单点故障
-难以支持MR之外的计算多计算框架各自为战,数据共享困难
-MR:离线计算框架
-Storm:实时计算框架
-Spark:内存计算框架
Yarn的基本构成
我们通过Yarn的工作流程图来了解Yarn的组织架构,如下图:
(1)Client向ResourceManager发送请求
(2)ResourceManager指定一个NodeManager启动起ApplicationMaster
(3)ApplicationMaster将计算任务反馈给ResourceManager
(4)ApplicationMaster将任务分割分发到不同的NodeManager
(5)NodeManager启动Task执行work
接着需要了解的是Yarn的每个节点的详细功能: