

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

# 亚马逊 EMR 配置最佳实践
<a name="best-practices"></a>

配置 Amazon EMR 集群时，请使用以下最佳实践来添加实例、使用实例组和使用竞价型实例。

## 添加实例
<a name="add-instances"></a>

在配置 EMR 集群时，一个重要的考虑因素是正确选择代表您的集群节点的 EC2 实例。请记住，当集群运行时，您无法更改实例的类型，例如将竞价型实例更改为按需实例。要更改主节点，必须关闭群集并创建一个新集群。因此，您必须选择正确的实例类型，以便尽可能减少停机时间。有关更多信息，请参阅[集群配置指南和最佳实践](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-instances-guidelines.html)。

有几种方法可以向集群添加 EC2 实例，具体取决于您使用集群的实例组配置还是实例队列配置：
+ 手动添加 EC2 实例
+ 在实例组上手动添加任务以自动添加实例
+ 设置自动缩放

## 实例组
<a name="instance-groups"></a>

在向配置中添加 EC2 实例时，请考虑使用实例组。如果您手动添加实例，则可以将相同类型的实例添加到现有的核心实例组和任务实例组。此外，您还可以添加任务实例组，该实例组可以使用不同的实例类型。

最后，在 Amazon EMR 中为实例组设置自动扩展。可以根据您指定的 Amazon CloudWatch 指标值自动添加和删除实例。否则，如果您使用的是实例队列，请添加单个任务实例队列。然后，更改现有核心实例和任务实例队列的按需实例和竞价型实例的目标容量。

## 竞价型实例
<a name="spot-instances"></a>

在任务节点上使用竞价型实例。任务节点处理数据，但不在 Hadoop 分布式文件系统 (HDFS) 中保存永久数据。如果任务节点因为竞价价格上涨到您的最高竞价价格之上而关闭，则不会丢失任何数据，对您的集群的影响也微乎其微。

当您以竞价型实例的形式启动任务实例组时，Amazon EMR 会使用您的最高竞价价格预配置尽可能多的任务节点。例如，您可以请求一个包含六个节点的任务实例组。如果只有五个竞价型实例的可用价格等于或低于您的最高竞价价格，则 Amazon EMR 会启动包含五个节点的实例组。如有可能，Amazon EMR 稍后再添加第六个节点。有关更多信息，请参阅[集群配置指南和最佳实践](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-instances-guidelines.html)。