问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

HDInsight 中的 Apache Hadoop 体系结构

创作时间:
作者:
@小白创作中心

HDInsight 中的 Apache Hadoop 体系结构

引用
1
来源
1.
https://learn.microsoft.com/zh-cn/azure/hdinsight/hdinsight-hadoop-architecture

Apache Hadoop包括两个核心组件:提供存储的Apache Hadoop 分布式文件系统 (HDFS),以及提供处理功能的Apache Hadoop Yet Another Resource Negotiator (YARN)。 有了存储和处理功能,群集就可以运行MapReduce程序来执行所需的数据处理。

注意:通常不会将 HDFS 部署在 HDInsight 群集中来提供存储, 而是由 Hadoop 组件来使用 HDFS 兼容接口层。 实际的存储功能由 Azure 存储或 Azure Data Lake Storage 提供。 就 Hadoop 来说,在 HDInsight 群集上执行的 MapReduce 作业运行起来就像 HDFS 存在一样,因此不需更改即可满足其存储需求。 在 Hadoop on HDInsight 中,存储是外包的,但 YARN 处理仍为核心组件。 有关详细信息,请参阅Azure HDInsight 简介。

本文介绍 YARN,说明其如何协调应用程序在 HDInsight 上的执行。

Apache Hadoop YARN 基础知识

YARN 控制并协调 Hadoop 中的数据处理。 YARN 有两个核心服务,在群集的节点上作为进程运行:

  • ResourceManager
  • NodeManager

ResourceManager 将群集计算资源授予 MapReduce 作业之类的应用程序。 ResourceManager 将这些资源作为容器来授予,每个容器都分配有相应的 CPU 核心和 RAM 内存。 如果将群集中的所有可用资源组合了起来,然后以块的形式分发了这些核心和内存,则每个资源块都是一个容器。 群集中的每个节点都有一个容量,只能存储特定数目的容器,因此群集对于可用容器的数目有一个固定的限制。 可以对资源在容器中的分配进行配置。

当 MapReduce 应用程序在群集上运行时,ResourceManager 为应用程序提供可在其中执行操作的容器。 ResourceManager 可以跟踪运行的应用程序的状态、可用群集容量,还可以在应用程序完成并释放其资源时跟踪应用程序。

ResourceManager 还运行一个 Web 服务器进程,该进程提供一个 Web 用户接口,用于监视应用程序的状态。

当用户提交要在群集上运行的 MapReduce 应用程序时,该应用程序会提交给 ResourceManager。 反过来,ResourceManager 会在可用的 NodeManager 节点上分配一个容器。 NodeManager 节点是应用程序的实际执行位置。 第一个分配的容器运行名为 ApplicationMaster 的特殊应用程序。 该 ApplicationMaster 负责获取资源,这些资源采用后续容器的形式,是运行提交的应用程序所必需的。 ApplicationMaster 会检查应用程序的阶段(例如映射阶段和化简阶段),并会将需要处理的数据量考虑进去。 ApplicationMaster 然后会代表应用程序从 ResourceManager 请求(协商)资源。 ResourceManager 反过来会将群集中 NodeManager 提供的资源授予 ApplicationMaster,供其在执行应用程序时使用。

NodeManagers 先运行应用程序包含的任务,然后将其进度和状态回头报告给 ApplicationMaster。 ApplicationMaster 则将应用程序的状态报告给 ResourceManager。 ResourceManager 将任何结果返回给客户端。

YARN on HDInsight

所有 HDInsight 群集类型都部署 YARN。 ResourceManager 在进行高可用性部署时会使用一个主实例和一个辅助实例,二者分别运行在群集的第一个头节点和第二个头节点上。 一次只有一个 ResourceManager 实例处于活动状态。 NodeManager 实例跨群集的可用工作节点运行。

软删除

若要从存储帐户中将文件取消删除,请参阅:

Azure 存储

  • Azure 存储 Blob 的软删除
  • 取消删除 Blob

Azure Data Lake Storage Gen 1

Restore-AzDataLakeStoreDeletedItem

Azure Data Lake Storage Gen 2

Azure Data Lake Storage Gen2 的已知问题

清理回收站

“HDFS > 高级核心网站” 中的

fs.trash.interval

属性应保留为默认值

0

,因为不应将任何数据存储在本地文件系统上。 此值不会影响远程存储帐户(WASB、ADLS GEN1、ABFS)

后续步骤

  • 在 Apache Hadoop on HDInsight 中使用 MapReduce
  • Azure HDInsight 简介

本文原文来自Microsoft Azure官方文档

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号