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


    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


    									道德判断,永远要先己后人。
    
    • 1
  • 相关阅读:
    Linux从入门到入土③(GCC、静态与动态链接库、Git、Make、Makefile)
    逍遥魔兽:如何在服务器上挂机器人?
    力扣上《将数字变成0的操作次数》这道题num & 0x01和num >>= 1的讲解
    加密算法小结
    c#-WPF使用类和子类绑定到DataContext
    Kafka为什么性能这么快?4大核心原因详解
    NO.396 旋转数组
    算法练习-LeetCode 剑指 Offer 33. 二叉搜索树的后序遍历序列
    【C++ Primer Plus学习记录】指针——小结
    Java入门篇 之 数据类型(简单介绍)
  • 原文地址:https://blog.csdn.net/weixin_49107940/article/details/132939531