hadoop HDFS分布式计算概述,MapReduce概述,YARN概述

2023-09-17 12:09:47

1、分布式计算概述

1.1、什么是(数据)计算

我们一直在提及:分布式计算, 分布式暂且不论, “计算”到底是指什么呢?
在这里插入图片描述

大数据体系内的计算, 举例:

  • 销售额统计、区域销售占比、季度销售占比
  • 利润率走势、客单价走势、成本走势
  • 品类分析、消费者分析、店铺分析

等等一系列,基于数据得出的结论。 这些就是我们所说的计算。

1.2、分布式(数据)计算

分布式计算:顾名思义,即以分布式的形式完成数据的统计,得到需要的结果。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

1.2.1、分散汇总模式

分散->汇总模式:

  1. 将数据分片,多台服务器各自负责一部分数据处理
  2. 然后将各自的结果,进行汇总处理
  3. 最终得到想要的计算结果

生活中的“人口普查”,就是典型的分散汇总的分布式统计模式。

在这里插入图片描述

1.2.2、中心调度模式

中心调度->步骤执行模式:

  1. 由一个节点作为中心调度管理者
  2. 将任务划分为几个具体步骤
  3. 管理者安排每个机器执行任务
  4. 最终得到结果数据

生活中的各类项目的:项目经理 和 项目成员
就是这种模式,一个管理分配任务,其余人员领取任务工作。
在这里插入图片描述
在这里插入图片描述

2、MapReduce概述

MapReduce 即Hadoop内提供的进行分布式计算的组件。

2.1、分布式计算框架 - MapReduce

MapReduce是“分散->汇总”模式的分布式计算框架,可供开发人员开发相关程序进行分布式数据计算。

MapReduce提供了2个编程接口:

  • Map
  • Reduce

其中

  • Map功能接口提供了“分散”的功能, 由服务器分布式对数据进行处理。
  • Reduce功能接口提供了“汇总(聚合)”的功能,将分布式的处理结果汇总统计。

用户如需使用MapReduce框架完成自定义需求的程序开发,只需要使用Java、Python等编程语言,实现Map Reduce功能接口即可。

2.2、MapReduce执行原理

  • 假设有如下文件,内部记录了许多的单词。且已经开发好了一个MapReduce程序,功能是统计每个单词出现的次数。
    在这里插入图片描述

  • 假定有4台服务器用以执行MapReduce任务
    可以3台服务器执行Map,1台服务器执行Reduce。

在这里插入图片描述

2.3、MapReduce的运行机制

  • 将要执行的需求,分解为多个Map Task和Reduce Task。
  • 将Map Task 和 Reduce Task分配到对应的服务器去执行。

3、YARN概述

3.1、YARN & MapReduce

MapReduce是基于YARN运行的,即没有YARN”无法”运行MapReduce程序。

YARN 即Hadoop内提供的进行分布式资源调度的组件。

3.2、资源调度

对于资源的利用,有规划、有管理的调度资源使用,是效率最高的方式。
在这里插入图片描述

3.2.1、程序的资源调度

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3.2.2、YARN的资源调度

YARN 管控整个集群的资源进行调度, 那么应用程序在运行时,就是在YARN的监管(管理)下去运行的。
这就像:全部资源都是公司(YARN)的,由公司分配给个人(具体的程序)去使用。

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

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

3.3、程序如何在YARN内运行

  • 程序向YARN申请所需资源。
  • YARN为程序分配所需资源供程序使用。

4、YARN架构

4.1、核心架构

4.1.1、YARN架构

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

  • 主(Master)角色:ResourceManager
    整个集群的资源调度者, 负责协调调度各个程序所需的资源。
  • 从(Slave) 角色:NodeManager
    单个服务器的资源调度者,负责调度单个服务器上的资源提供给应用程序使用。
    在这里插入图片描述
    在这里插入图片描述
4.1.2、YARN容器

容器(Container)

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

在这里插入图片描述
在这里插入图片描述

什么是YARN的容器?

  • 容器(Container)是YARN的NodeManager在所属服务器上分配资源的手段
  • 创建一个资源容器,即由NodeManager占用这部分资源
  • 然后应用程序运行在NodeManager创建的这个容器内
  • 应用程序无法突破容器的资源限制

4.2、辅助架构

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

  • ResourceManager:集群资源总管家
  • NodeManager:单机资源管家

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

  • 代理服务器(ProxyServer):Web Application Proxy Web应用程序代理
  • 历史服务器(JobHistoryServer): 应用程序历史信息记录服务
4.2.1、Web应用代理(Web Application Proxy)

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

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

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

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

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

代理服务器默认集成在了ResourceManager中
也可以将其分离出来单独启动,如果要分离代理服务器

  1. 在yarn-site.xml中配置 yarn.web-proxy.address 参数即可
    在这里插入图片描述

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

4.2.2、JobHistoryServer历史服务器

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

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

在这里插入图片描述在这里插入图片描述

JobHistoryServer历史服务器功能:

  • 提供WEB UI站点,供用户在浏览器上查看程序日志
  • 可以保留历史数据,随时查看历史运行程序信息

JobHistoryServer需要配置:

  • 开启日志聚合,即从容器中抓取日志到HDFS集中存储
    在这里插入图片描述

  • 配置历史服务器端口和主机
    在这里插入图片描述

结束!!!!!!!
hy:36


									道德判断,永远要先己后人。
更多推荐

技术贴 | 深度解析 PostgreSQL Protocol v3.0(二)— 扩展查询

引言PostgreSQL使用基于消息的协议在前端(客户端)和后端(服务器)之间进行通信。该协议通过TCP/IP和Unix域套接字支持。《深度解析PostgreSQLProtocolv3.0》系列技术贴,将带大家深度了解PostgreSQLProtocolv3.0(在PostgreSQL7.4及更高版本中实现,有关早期协

Greenplum实用工具-gpfdist

注:本文翻译自https://docs.vmware.com/en/VMware-Greenplum/7/greenplum-database/utility_guide-ref-gpfdist.html向Greenplum数据库段提供数据文件或从数据库段写入数据文件。语法gpfdist[-d<directory>][

爬虫 — 字体反爬

目录一、安装字体软件FontCreator二、百度智能云文字识别三、案例一四、案例二五、案例三六、安装Tesseract1、安装步骤2、配置环境3、使用Python识别图片信息七、案例四一、安装字体软件FontCreator点击下载字体软件FontCreator安装包1、同意协议,点击Next;2、更改存放位置,点击N

CPP-Templates-2nd--第十九章 萃取的实现 19.7---

目录19.7其它的萃取技术19.7.1If-Then-Else19.7.2探测不抛出异常的操作19.7.3萃取的便捷性(TraitsConvenience)别名模板和萃取(AliasTemplatesAndTraits)变量模板和萃取(VariableTemplatesandTraits)19.8类型分类(TypeCl

第一章:最新版零基础学习 PYTHON 教程(第二节 - Python语言优势及应用)

Python是一种高级、解释型、通用动态编程语言,注重代码的可读性。与Java和C相比,它的程序通常较小。它由开发人员GuidoVanRossum于1991年创立。Python跻身世界上最流行、增长最快的语言之列。Python是一种强大、灵活且易于使用的语言。此外,Python社区也非常活跃。它被许多组织使用,因为它支

【漏洞复现】广联达OA漏洞合集(信息泄露+SQL注入+文件上传)

文章目录声明广联达OA存在信息泄露一、漏洞概述二、漏洞复现三、修复建议广联达Linkworks办公OASQL注入漏洞+后台文件上传漏洞一、产品简介二、漏洞概述三、复现环境四、修复建议声明请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,

做影视特效本地电脑配置不够怎么办?

影视特效对电脑要求高,往往本地电脑配置不足的情况下,会导致电脑卡顿等造成工作效率低下等问题,再加上现在异地协同的云电脑需求越来越高,更多的企业和个人开始选择做影视特效的云电脑,那么今天就来看看租一台云电脑如何来完成影视制作吧。在当今的影视特效行业中,技术的进步以及计算机硬件和软件的迅速发展,使得制作过程更加高效、便捷。

基于STM32+华为云IOT设计的智能垃圾桶

一、项目介绍在商业街、小吃街和景区等人流密集的场所,垃圾桶的及时清理对于提供良好的游客体验至关重要。然而,传统的垃圾桶清理方式通常是定时或定期进行,无法根据实际情况进行及时响应,导致垃圾桶溢满,影响环境卫生,给游客带来不便和不满。为了解决这一问题,本项目基于STM32F103ZET6主控芯片和华为云物联网平台,设计了一

抱歉,在座的都不会“自己介绍”!

作者|磊哥来源|公众号:Java中文社群转载请联系授权(微信ID:GG_Stone)细节决定成败,面试本质上是“自我推销”的过程。如何在短短的几十分钟内打动面试官,从来都不是一个简单的问题。所以怎么开场?怎么让面试官对我产生兴趣?非常关键。所以,接下来,我们就来聊聊,如何进行自我介绍?如果一开场就让面试官对你印象深刻。

Python基础分享之缩进和选择

缩进Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。先看C语言的表达方式(注意,这是C,不是Python!)if(i>0){x=1;y=2;}如果i>0的话,我们将进行括号中所包括的两个赋值操作。括号中包含的就是块操作,它隶属于i

实用技巧:Linux上实现OpenGauss数据库远程连接,方便的跨网络数据操作

文章目录前言1.Linux安装openGauss2.Linux安装cpolar3.创建openGauss主节点端口号公网地址4.远程连接openGauss5.固定连接TCP公网地址6.固定地址连接测试🍁小结🍁前言openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度

热文推荐