心得:着重理解yarn是什么,在hadoop生态系统中充当的角色,最后提到的框架,并不熟悉,也未展开,只做记录。
一、是什么
通用的统一资源管理系统,可以同时运行长应用程序和短应用程序。
长应用程序:通常情况下,永不停止运行的程序,如:Service、HTTPServer等
短应用程序:短时间(秒级、分钟级、小时级)内会运行结束的程序,如:MR job、Spark Job等
二、产生背景
1.运维成本:如果采用“一个框架一个集群”的模式,则可能需要多个管理员管理这些集群,进而增加运维成本,而共享模式通常需要少数管理员即可完成多个框架的统一管理。
2.数据共享:随着数据量的暴增,跨集群间的数据移动不仅需花费更长的时间,且硬件成本也会大大增加,而共享集群模式可让多种框架共享数据和硬件资源,将大大减小数据移动带来的成本。MRv1的缺陷:扩展性受限、单点故障、难以支持MR之外的计算、多计算框架各自为战,数据共享困难
三、基本架构
ResourceManager:整个集群只有一个,负责集群资源的统一管理和调度。主要用来处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度
NodeManager:整个集群有多个,负责单节点资源管理和使用。主要用来单个节点上的资源管理和任务管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令。
ApplicationMaster:每个应用有一个,负责应用程序的管理。主要用来进行:数据切分、为应用程序申请资源