Hadoop三大组件之Yarn

1. 概述

什么是资源调度?为什么需要资源调度?

  1. 资源,即服务器的硬件资源,如:CPU、内存、网络等;资源调度是为了管控服务器的硬件资源,提供更好的利用率;分布式资源调度是管控这个分布式服务器集群的全部资源,整合进行统一的调度
  2. 在分布式系统中,会有很多运行的程序,每个程序对资源的使用都是不同的,程序没有节省资源的概率,一个本身不需要太大资源的程序可能占用较多的资源,导致资源利用率低,所以为了提高资源使用率,进行调度就非常有必要了,对程序实行申请制度,需要多少就申请多大

YARN是Hadoop内提供的分布式资源调度的组件,作用是调度整个服务器集群的资源统一管理。负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序相当于操作系统上的应用程序。YARN用来调度资源给MapReduce分配和管理运行资源,所以MapReduce需要YARN才能执行

2. YARN基础架构

YARN架构类似HDFS都是主从架构模式,如下图:
在这里插入图片描述

HDFS, 主从架构,有2个角色

  • 主(Master)角色:NameNode
  • 从(Slave)角色 :DataNode

在这里插入图片描述

YARN,主从架构,有2个角色

  • 主(Master)角色:ResourceManager
  • 从(Slave) 角色:NodeManager

在这里插入图片描述

YARN主要由ResourceManager、NodeManager组件组成,ResourceManager是整个集群的资源调度者, 负责协调调度各个程序所需的资源;NodeManager是单个服务器的资源调度者,负责调度单个服务器上的资源提供给应用程序使用。

NodeManager通过容器的方式为应用程序提供精准的资源:

  1. 首先NodeManager在服务器上构建一个容器(包含运行程序所需的资源)
  2. 然后将容器的资源提供提供给程序使用
  3. 程序运行在容器内,无法突破容器的资源限制

3. 辅助角色

在YARN的架构中除了核心组件,还可以搭配2个辅助角色使得YARN集群运行更加稳定。

  • 代理服务器(ProxyServer):Web Application Proxy Web应用程序代理

  • 历史服务器(JobHistoryServer)为应用程序历史信息记录服务

3.1 Web应用代理(Web Application Proxy)

代理服务器,即Web应用代理是 YARN 的一部分。默认情况下,它将作为资源管理器(RM)的一部分运行,但是可以配置为在独立模式下运行。使用代理的原因是为了减少通过 YARN 进行基于网络的攻击的可能性。这是因为, YARN在运行时会提供一个WEB UI站点(同HDFS的WEB UI站点一样)可供用户在浏览器内查看YARN的运行信息
在这里插入图片描述对外提供WEB 站点会有安全性问题, 而代理服务器的功能就是最大限度保障对WEB UI的访问是安全的。 比如:

  • 警告用户正在访问一个不受信任的站点
  • 剥离用户访问的Cookie等

开启代理服务器,可以提高YARN在开放网络中的安全性 (但不是绝对安全只能是辅助提高一些)

3.2 JobHistoryServer历史服务器

历史服务器的是记录历史运行的程序的信息以及产生的日志并提供WEB UI站点供用户使用浏览器查看。

  • 提供WEB UI站点,供用户在浏览器上查看程序日志
  • 可以保留历史数据,随时查看历史运行程序信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值