Azure HDInsight 的工作原理

已完成

本单元介绍 Azure HDInsight 的工作原理。 你将了解以下组件,以及它们如何组合在一起以提供数据控制和管理:

  • Apache Hadoop
  • HDInsight 存储
  • HDInsight 处理

什么是 Apache Hadoop?

Apache Hadoop 是一个云分布式数据处理系统,是 HDInsight 的核心。 它包含三个组件,如下表所述:

Apache Hadoop 组件 说明
HDFS Apache Hadoop 分布式文件系统 (HDFS) 为 Hadoop 系统提供存储。
YARN Apache Hadoop Yet Another Resource Negotiator (YARN) 组件可处理系统。
MapReduce MapReduce 是一种可以处理和分析数据的编程模型。

组件如何进行交互?

下图描绘了典型 HDInsight Hadoop 群集中的存储和处理组件交互。 它阐释了以下组件:

  • 头节点和工作器节点,用于执行处理。
  • 节点内的多个 Windows Azure 存储 Blob (WASB) 存储中心。 HDFS 与以下容器交互。
  • 多个默认的、链接的和未链接的存储容器。 它们可用于两个节点。

A diagram that depicts the head and worker nodes in Hadoop, then the multiple storage containers accessible to the nodes.

现在我们来看看存储和处理的工作方式。

存储如何工作?

预配 HDInsight 群集时,不会自动创建群集的存储组件。 存储部分是由 Azure 存储或 Azure Data Lake 等与 HDFS 兼容的系统预配的。

将群集的存储组件与处理组件分离可带来一些好处。 例如,你可以安全地删除仅用于计算的任何 HDInsight 群集,而无需担心丢失数据。 添加 HDInsight 群集时,必须定义默认文件系统。

重要

对于 Azure 存储,必须将 blob 容器指定为默认文件系统。

提供默认文件系统可确保在搜索文件时 HDInsight 可以解析相关文件引用。

提示

在你想要增加可用存储时,可以根据需要链接和取消链接其他文件系统。

A diagram depicting the storage element from the previous diagram.

处理如何工作?

处理数据时,HDInsight 上的 Hadoop 群集的计算组件分为两个逻辑区域。 下表介绍了这两个区域:

组件 说明
头节点 头节点接受并管理客户端请求,并将请求传递给工作器节点。
工作器节点 工作器节点处理数据。

注意

头节点有时称为主节点。

大多数群集包含两个头节点,分别为:

  • 一个主动头节点,用于管理客户端连接。
  • 一个被动头节点,用于在活动节点处于脱机状态时提供复原能力。

A diagram depicting the processing element in a typical Hadoop cluster.

头节点和工作器节点都可以直接连接到本地连接的 HDFS,也都可以访问 Azure Blob 或 Azure Data Lake 中存储的数据。 托管哪些数据取决于两个因素:

  • MapReduce 编程模型如何定义数据处理方式
  • 头节点如何分配工作

YARN 的作用是什么?

YARN 在 HDInsight 群集内执行资源管理。 处理数据时,此服务可管理资源和作业计划。

YARN 毗连 HDInsight 群集的 HDFS 和计算系统。 它与头节点协同工作,帮助在群集的工作器节点之间分发作业。 这有助于确保数据处理作业并行执行。