

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 选择和部署 Amazon EMR 集群
<a name="select"></a>

识别和组织*节点类型*。在定义 Amazon EMR 集群时，了解其硬件非常重要。如何工作？ 它是如何组成的？ 这些问题的答案包括三个部分：
+ 节点的类型
+ 每个节点携带的功能
+ 每个节点最有效的 EC2 实例类型

最初，主节点负责管理常规资源。它运行分布式应用程序的主要组件。例如，它运行 Hadoop 分布式文件系统 (HDFS) NameNode 服务，跟踪集群上要完成的任务，并监控系统的运行状况。

此外，Amazon EMR 还具有核心节点和任务节点。核心节点由主节点进行管理。核心节点运行任务节点，负责将数据存储在集群上的 HDFS 中。任务节点负责管理进入集群的任务。任务节点不存储数据。（任务节点不是必需的。）

在配置和部署 Amazon EMR 集群时，一个重要的考虑因素是正确选择代表您的集群节点的 EC2 实例。向集群添加 EC2 实例的方法有多种，具体取决于您使用集群的实例组配置还是实例队列配置。有关支持的实例类型的更多信息，请参阅[AWS 文档](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-supported-instance-types.html)。

以下指南适用于大多数 [Amazon EMR 集群。](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-ha-considerations.html)您还可以查看[集群配置最佳实践](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-instances-guidelines.html)。

## 实例选择指南
<a name="instance-selection-guidelines"></a>

通常，您的 Amazon EMR 实施首选实例取决于您正在运行的任务。考虑以下问题：
+ 您的工作是否占用大量内存？
+ 您的工作是否占用 CPU 资源？
+ 你需要大量的存储空间吗？
+ 您的工作需要 GPU 容量吗？

这些问题将帮助您了解所需的实例类型和所需的实际特征。确定要同时处理多少作业，以及需要以多快的速度处理这些作业。这一点很重要，因为 Amazon EMR 的使用按小时计费。当你开启集群时，你需要支付整整一小时的费用。

您可以查看在不同 AWS 区域运行的每个实例的成本。要比较各区域之间的价格，您可以使用[AWS 定价计算器](https://calculator.aws/#/)并根据您所在的位置更改这些值。

## 选择 EC2 实例
<a name="select-instances"></a>

回答了前面的问题后，是时候根据这些要求选择实例了。了解处理任务需求后，根据所需的特征确定实例类型：
+ **如果您需要通用实例，请选择 **m6g、**t4** g 或 M** 5 实例。**
+ **如果您需要计算优化的实例，请选择 **C6g 或 C5** 实例。**
+ **如果您需要内存优化型实例，请选择 **R6g、X1、**R** 5** **或 z1d** 实例。**
+ 如果您必须针对存储进行优化，请选择可提供高 **I** /O 性能的 I/O 实例。
+ 如果您需要加速计算，例如 GPU，请选择 **P3**、**G4** 或 **Inf** 1 实例。这些实例类型为机器学习和流体动力学等过程提供了高性能。

了解实例类型及其功能的另一种方法是分析每种实例类型的[默认内存](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hadoop-task-config.html#emr-hadoop-task-config-m6g)。该指标可帮助您调整和提高 MapReduce 作业绩效。有关更多信息，请参阅 [Hadoop 守护程序配置设置。](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hadoop-daemons.html)

当您知道所需的实例类型后，就可以规划集群容量。