首页 > 其他分享 >YARN & MapReduce 介绍

YARN & MapReduce 介绍

时间:2024-07-01 16:29:09浏览次数:16  
标签:程序 调度 介绍 MapReduce YARN 服务器 资源

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的监管(管理)下运行呢?

<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="woChBnGL-1719820316523" src="https://live.csdn.net/v/embed/405210"></iframe>

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的运行机制说起。

<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="0koeCCJ1-1719821501627" src="https://live.csdn.net/v/embed/405214"></iframe>

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

JobHistoryServer历史服务器功能:

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

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

JobHistoryServer需要配置:

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

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

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

标签:程序,调度,介绍,MapReduce,YARN,服务器,资源
From: https://blog.csdn.net/qq_65231448/article/details/140101884

相关文章

  • 物联网基础——芯片引脚名称及作用介绍
    一、概述定义:芯片引脚用于和外部电路实现连接。解释:芯片只有通过引脚和外部电路连接后才能工作,如:电源等二、相关概念和符号 1.电源引脚VCC:代表电源电压输入端。通常连接外部电源的正极。GND:代表接地引脚。连接外部电源的负极。2......
  • k8s-01-介绍
    K8S介绍单体应用:由很多个组件组成,这些组件紧密的耦合在一起,由于他们在同一个操作系统进程中运行,所以在开发、部署、管理都必须在同一个实体进行。即使市某个组件中小的更改,都需要重新部署整个应用。组件间缺乏严格的边界定义,相互依赖,日积月累导致系统复杂度提升。微服务:将......
  • 视图控制器UINavigationController的介绍与基本使用
    UINavigationController是iOS中用于管理视图控制器层次结构的一个重要组件,通常用于实现基于堆栈的导航。它提供了一种用户界面,允许用户在视图控制器之间进行层次化的导航,例如从列表视图到详细视图。UINavigationController的主要功能管理视图控制器堆栈:使用一个堆栈数据结......
  • AS-V1000外部设备管理介绍(国标GB28181设备管理,可以管理的国标设备包括DVR/NVR、IPC、
    目录一、概述1、视频监控平台介绍2、外部设备定义(接入的国标设备)二、外部设备管理2.1外部设备添加(1)设备侧的配置(2)平台侧的配置2.2外部设备信息的修改三、外部通道管理3.1外部通道同步3.2外部通道删除3.3外部通道参数修改四、目录同步和挂接4.1目录同步4.......
  • Tomcat的介绍及使用
    博客主页:音符犹如代码系列专栏:JavaWeb关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞......
  • lidar3607.2 雷达点云数据处理软件功能介绍
    V7.2.220240511获取软件安装包联系邮箱:[email protected],资源源于网络,本介绍用于学习使用,如有侵权请您联系删除!1.平台修复对不包含枝下高特征的单木进行枝下高提取时,生成的treedb枝下高字段产生异常记录,查看属性表时软件崩溃的问题;2.林业修复使用treedb作为种子点进行......
  • UITabbarController的介绍与使用
    UITabBarController是iOS中用于管理和显示选项卡界面的一个视图控制器。它允许用户在多个视图控制器之间进行切换,每个视图控制器对应一个选项卡。主要功能管理多个视图控制器:UITabBarController管理一个视图控制器数组,每个视图控制器对应一个选项卡。显示选项卡栏:在......
  • 【Mac】iTerm for mac(终端工具)软件介绍及安装教程
    软件介绍iTerm是macOS上一个非常受欢迎的终端仿真器,提供了比默认的Terminal应用更多的功能和定制选项。它是一款开源软件,主要用于命令行界面的操作和开发者工具。主要特点和功能:分页和标签:iTerm允许用户在单个窗口中使用多个标签页和分页。这使得在多个终端会话之......
  • Day29.继承介绍
    1.继承介绍_什么是继承_继承格式___bases__用法#1、什么继承?#I:继承是一种创建新类的方式,新建的类可称为子类或派生类,父类又可称为基类或超类,子类会遗传父类的属性#II:需要注意的是:python支持多继承#在Python中,新建的类可以继承一个或多个父类#继......
  • SUSE linux的启动过程介绍
    引导Linux系统涉及不同的组件和任务。在固件和硬件初始化过程(取决于机器的架构)之后,内核通过引导加载程序GRUB2启动。此后,引导过程完全由操作系统控制并由systemd处理。systemd提供了一组“target”,用于为日常使用、维护或紧急情况启动配置。1术语init有两种不同的进程会......