Hadoop YARN学习之核心概念(2)
1. Hadoop 2.X YARN引入的新服务
1.1 新的ResourceManager纯碎作为资源调度器,是集群资源的唯一仲裁者;
1.2 用户应用程序(包括MapReduce作业),通过一个新的ApplicationMaster组件请求一定的资源,与Resource协商;
1.3 从而在集群中创建该应用的Container;
2. YARN的引入不会影响Hadoop运行MapReduce作业的能力;YARN提供了使用非MapReduce框架的新能力,为Hadoop生态系统增加了很多新的特性(如SPARK)。
3. YARN三大组件
- ResourceManager
- 是纯粹的资源调度器,它根据应用程序的资源请求严格限制系统的可以资源。
- ApplicationMaster
- 实际上是一个特定框架库的一个实例,负责与ResourceManager协商资源,并和NodeManager协同工作来执行和监控Container以及它们的资源消耗。
- Container
- Container是一种资源分配形式,是ResourceManager为ResourceRequest成功分配资源的结果。
- Container为应用程序授予在特定主机上使用资源(如内存,CPU)的权利。
4. 资源模型
4.1 YARN被设计成可以允许应用程序(通过ApplicationMaster)以共享的,安全的以及多用户租户的方式使用集群的资源。
4.2 Scheduler会分配一个Container来响应资源需求,用于满足由ApplicationMaster在ResourceRequest中提出的要求:
<资源名称,优先级,资源需求,Container数>