YARN & MapReduce 介绍

MapReduce是基于YARN运行的,即没有YARN”无法”运行MapReduce程序 (并不是完全但是看作是这样的

导入

 分布式计算概述

 分布式计算概述icon-default.png?t=N7T8http://t.csdnimg.cn/LOW1p

 MapReduce概述

MapReduce概述icon-default.png?t=N7T8http://t.csdnimg.cn/WwMB8

YARN概述

 分布式资源调度 - YARN

 

 资源调度

 资源:服务器硬件资源,如:CPU、内存、硬盘、网络等。

资源调度:管控服务器硬件资源,提供更好的利用率。

分布式资源调度:管控整个分布式服务器集群的全部资源,整合进行统一调度。

意义:

对于资源的利用,有规划、有管理的调度资源使用,是效率最高的方式

 程序的资源调度

 

 将服务器上的资源进行划分 对程序实行申请制度,需要多少申请多少

 提高资源使用率

 对于服务器集群亦可使用这种思路 调度整个集群的资源,如下

 

 YARN的资源调度

 YARN 管控整个集群的资源进行调度, 那么应用程序在运行时,就是在YARN的监管(管理)下去运行的。

这就像:全部资源都是公司(YARN)的,由公司分配给个人(具体的程序)去使用。

比如,一个具体的MapReduce程序。 我们知道, MapReduce程序会将任务分解为若干个Map任务和Reduce任务。

假设,有一个MapReduce程序, 分解了3个Map任务,和1个Reduce任务,那么如何在YARN的监管(管理)下运行呢?

QQ202471-153344

YARN架构

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

 主(Master)角色:ResourceManager

从(Slave) 角色:NodeManager

参考hdfs:

HDFS, 主从架构,有2个角色 主(Master)角色:NameNode     从(Slave)角色 :DataNode

 ResourceManager:整个集群的资源调度者, 负责协调调度各个程序所需的资源。

NodeManager:单个服务器的资源调度者,负责调度单个服务器上的资源提供给应用程序使用。

 如何实现单个服务器上精准分配如下的硬件资源呢?

开辟的空间,称之为:容器

 

NodeManager预先占用这一部分资源,然后将这一部分资源提供给程序使用。

YARN容器

 

NodeManager在服务器上构建一个容器(提前占用资源,类似集装箱的概念) 然后将容器的资源提供给程序使用 程序运行在容器(集装箱)内,无法突破容器的资源限制。

辅助架构

 YARN辅助角色

 YARN的架构中除了核心角色,即:

ResourceManager:集群资源总管家

NodeManager:单机资源管家

 还可以搭配2个辅助角色使得YARN集群运行更加稳定

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

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

 Web应用代理(Web Application Proxy)

 代理服务器,即Web应用代理是 YARN 的一部分。默认情况下,它将作为资源管理器(RM)的一部分运行,但是可以配置为在独立模式下运行。使用代理的原因是为了减少通过 YARN 进行基于网络的攻击的可能性。

这是因为, YARN在运行时会提供一个WEB UI站点(同HDFS的WEB UI站点一样)可供用户在浏览器内查看YARN的运行信息。

 对外提供WEB 站点会有安全性问题, 而代理服务器的功能就是最大限度保障对WEB UI的访问是安全的。

比如:

警告用户正在访问一个不受信任的站点。

剥离用户访问的Cookie等。

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

代理服务器默认集成在了ResourceManager中 也可以将其分离出来单独启动,如果要分离代理服务器(参考MapReduce & YARN 的部署:待加,请自行搜索)

1. 在yarn-site.xml中配置 yarn.web-proxy.address 参数即可

2.并通过命令启动它即可 $HADOOP_YARN_HOME/sbin/yarn-daemon.sh start proxyserver 

JobHistoryServer历史服务器

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

程序看日志不是日常操作吗? 为何需要一个单独的历史服务器? 回答这个问题要从YARN的运行机制说起。

统一收集到HDFS,由历史服务器托管为WEB UI供用户在浏览器统一查看.。

JobHistoryServer历史服务器功能:

提供WEB UI站点,供用户在浏览器上查看程序日志

可以保留历史数据,随时查看历史运行程序信息

JobHistoryServer需要配置:

开启日志聚合,即从容器中抓取日志到HDFS集中存储

 配置历史服务器端口和主机

详细历史服务器配置和启动,参考MapReduce & YARN 的部署:待加,请自行搜索

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小智学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值