

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

# Amazon EMR 中包含 ErrorDetail 信息的错误代码
<a name="emr-troubleshoot-error-errordetail"></a>

当 EMR 集群因错误而终止时，`DescribeCluster`和将`ListClusters` APIs 返回错误代码和错误消息。对于部分集群错误，`ErrorDetail` 数据数组可以帮助您排查失败原因。

包含 `ErrorDetail` 数组的错误提供了以下详细信息：

**`ErrorCode`**  
可用于编程访问的唯一错误代码。

**`ErrorData`**  
键值对中的标识符列表，可用于编程或手动查找。有关错误代码包含的 `ErrorData` 值的描述，请参阅错误代码的疑难解答页面。

**`ErrorMessage`**  
错误描述以及指向 Amazon EMR 文档中更多信息的链接。  
我们不建议您解析 `ErrorMessage` 中的文本，因为此文本可能会发生变化。

**Topics**
+ [引导失败](emr-troubleshoot-error-errordetail-bootstrap.md)
+ [内部错误](emr-troubleshoot-error-errordetail-internal.md)
+ [验证失败](emr-troubleshoot-error-errordetail-validation.md)

# Amazon EMR 中的引导失败错误代码
<a name="emr-troubleshoot-error-errordetail-bootstrap"></a>

以下各节提供引导失败错误代码的问题排查信息。

**Topics**
+ [BOOTSTRAP\$1FAILURE\$1PRIMARY\$1WITH\$1NON\$1ZERO\$1CODE](BOOTSTRAP_FAILURE_PRIMARY_WITH_NON_ZERO_CODE.md)
+ [BOOTSTRAP\$1FAILURE\$1BA\$1DOWNLOAD\$1FAILED\$1PRIMARY](BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_PRIMARY.md)
+ [BOOTSTRAP\$1FAILURE\$1FILE\$1NOT\$1FOUND\$1PRIMARY](BOOTSTRAP_FAILURE_FILE_NOT_FOUND_PRIMARY.md)
+ [BOOTSTRAP\$1FAILURE\$1INSUFFICIENT\$1DISK\$1SPACE\$1PRIMARY](BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_PRIMARY.md)
+ [BOOTSTRAP\$1FAILURE\$1INSUFFICIENT\$1DISK\$1SPACE\$1WORKER](BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_WORKER.md)
+ [BOOTSTRAP\$1FAILURE\$1HIVE\$1METASTORE\$1CONNECTION\$1ERROR\$1PRIMARY](BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_PRIMARY.md)
+ [BOOTSTRAP\$1FAILURE\$1HIVE\$1METASTORE\$1CONNECTION\$1ERROR\$1WORKER](BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_WORKER.md)

# BOOTSTRAP\$1FAILURE\$1PRIMARY\$1WITH\$1NON\$1ZERO\$1CODE
<a name="BOOTSTRAP_FAILURE_PRIMARY_WITH_NON_ZERO_CODE"></a>

## 概述
<a name="BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_WITH_NON_ZERO_CODE_overview"></a>

当集群因 `BOOTSTRAP_FAILURE_PRIMARY_WITH_NON_ZERO_CODE` 错误而终止时，主实例中的引导操作已失败。有关引导操作的更多信息，请参阅 [创建引导操作以使用 Amazon EMR 集群安装其他软件](emr-plan-bootstrap.md)。

## 解决方案
<a name="BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_WITH_NON_ZERO_CODE_resolution"></a>

要解决此错误，请查看 API 错误中返回的详细信息、修改您的引导操作脚本，然后使用更新的引导操作创建新集群。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`primary-instance-id`**  
引导操作失败的主实例的 ID。

**`bootstrap-action`**  
失败的引导操作的序号。`bootstrap-action` 值为 `1` 的脚本是在实例上运行的第一个引导操作。

**`return-code`**  
失败的引导操作返回码。

**`amazon-s3-path`**  
失败的引导操作的 Amazon S3 位置。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_WITH_NON_ZERO_CODE_stc"></a>

执行以下步骤以确定和修复引导操作错误的根本原因。然后启动新集群。

1. 查看 Amazon S3 中的引导操作日志文件，确定失败的根本原因。要了解有关如何查看 Amazon EMR 日志的更多信息，请参阅 [查看 Amazon EMR 日志文件](emr-manage-view-web-log-files.md)。

1. 如果您在创建实例时开启了集群日志，请参阅 `stdout` 日志以了解更多信息。您可以在以下 Amazon S3 位置找到引导操作的 `stdout` 日志：

   ```
   s3://amzn-s3-demo-bucket/logs/Your_Cluster_Id/node/Primary_Instance_Id/bootstrap-actions/Failed_Bootstrap_Action_Number/stdout.gz 
   ```

   有关集群的更多信息，请参阅 [配置 Amazon EMR 集群日志记录和调试](emr-plan-debugging.md)。

1. 要确定引导操作失败，请查看 `stdout` 日志中的异常以及 `ErrorData` 中的`return-code` 值。

1. 使用上一步中的发现来修改您的引导操作，使其避免异常或在异常发生时可以正常地处理异常。

1. 使用更新的引导操作启动新集群。

# BOOTSTRAP\$1FAILURE\$1BA\$1DOWNLOAD\$1FAILED\$1PRIMARY
<a name="BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_PRIMARY"></a>

## 概述
<a name="BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_PRIMARY_overview"></a>

当主实例无法从您指定的 Amazon S3 位置下载引导操作脚本时，集群终止并出现 `BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_PRIMARY` 错误。典型的原因包括：
+ 引导操作脚本文件不在指定的 Amazon S3 位置。
+ 集群上的 Amazon EC2 实例的服务角色（也称为 *Amazon EMR 的 EC2 实例配置文件*）无权访问引导操作脚本所在的 Amazon S3 存储桶。有关服务角色的更多信息，请参阅 [集群 EC2 实例（EC2 实例配置文件）的服务角色](emr-iam-role-for-ec2.md)。

有关引导操作的更多信息，请参阅 [创建引导操作以使用 Amazon EMR 集群安装其他软件](emr-plan-bootstrap.md)。

## 解决方案
<a name="BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_PRIMARY_resolution"></a>

要解决此错误，请确保您的主实例具有对引导操作脚本的适当访问权限。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`primary-instance-id`**  
引导操作失败的主实例的 ID。

**`bootstrap-action`**  
失败的引导操作的序号。`bootstrap-action` 值为 `1` 的脚本是在实例上运行的第一个引导操作。

**`amazon-s3-path`**  
失败的引导操作的 Amazon S3 位置。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_PRIMARY_stc"></a>

执行以下步骤以确定和修复引导操作错误的根本原因。然后启动新集群。

**故障排除步骤**

1. 使用 `ErrorData` 数组中的 `amazon-s3-path` 值在 Amazon S3 中查找相关的引导操作脚本。

1. 如果您在创建实例时开启了集群日志，请参阅 `stdout` 日志以了解更多信息。您可以在以下 Amazon S3 位置找到引导操作的 `stdout` 日志：

   ```
   s3://amzn-s3-demo-bucket/logs/Your_Cluster_Id/node/Primary_Instance_Id/bootstrap-actions/Failed_Bootstrap_Action_Number/stdout.gz 
   ```

   有关集群的更多信息，请参阅 [配置 Amazon EMR 集群日志记录和调试](emr-plan-debugging.md)。

1. 要确定引导操作失败，请查看 `stdout` 日志中的异常以及 `ErrorData` 中的`return-code` 值。

1. 使用上一步中的发现来修改您的引导操作，使其避免异常或在异常发生时可以正常地处理异常。

1. 使用更新的引导操作启动新集群。

# BOOTSTRAP\$1FAILURE\$1FILE\$1NOT\$1FOUND\$1PRIMARY
<a name="BOOTSTRAP_FAILURE_FILE_NOT_FOUND_PRIMARY"></a>

## 概述
<a name="BOOTSTRAP_FAILURE_FILE_NOT_FOUND_PRIMARY_overview"></a>

该 `BOOTSTRAP_FAILURE_FILE_NOT_FOUND_PRIMARY` 错误表示主实例找不到该实例刚刚从指定的 Amazon S3 存储桶下载的引导操作脚本。

## 解决方案
<a name="BOOTSTRAP_FAILURE_FILE_NOT_FOUND_PRIMARY_resolution"></a>

要解决此错误，请确保您的主实例具有对引导操作脚本的适当访问权限。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`primary-instance-id`**  
引导操作失败的主实例的 ID。

**`bootstrap-action`**  
失败的引导操作的序号。`bootstrap-action` 值为 `1` 的脚本是在实例上运行的第一个引导操作。

**`amazon-s3-path`**  
失败的引导操作的 Amazon S3 位置。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="BOOTSTRAP_FAILURE_FILE_NOT_FOUND_PRIMARY_stc"></a>

执行以下步骤以确定和修复引导操作错误的根本原因。然后启动新集群。

1. 要在 Amazon S3 中查找相关的引导操作脚本，请使用 `ErrorData` 数组中的 `amazon-s3-path` 值。

1. 查看 Amazon S3 中的引导操作日志文件，确定失败的根本原因。要了解有关如何查看 Amazon EMR 日志的更多信息，请参阅 [查看 Amazon EMR 日志文件](emr-manage-view-web-log-files.md)。
**注意**  
如果您没有为集群开启日志，则必须使用相同的配置和引导操作创建一个新集群。要确保集群日志已开启，请参阅 [配置 Amazon EMR 集群日志记录和调试](emr-plan-debugging.md)。

1. 查看 `stdout` 日志以了解您的引导操作，并确认没有自定义流程可以删除主实例上 `/emr/instance-controller/lib/bootstrap-actions` 文件夹中的文件。您可以在以下 Amazon S3 位置找到引导操作的 `stdout` 日志：

   ```
   s3://amzn-s3-demo-bucket/logs/Your_Cluster_Id/node/Primary_Instance_Id/bootstrap-actions/Failed_Bootstrap_Action_Number/stdout.gz
   ```

1. 使用更新的引导操作启动新集群。

# BOOTSTRAP\$1FAILURE\$1INSUFFICIENT\$1DISK\$1SPACE\$1PRIMARY
<a name="BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_PRIMARY"></a>

## 概述
<a name="BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_PRIMARY_overview"></a>

 `BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_PRIMARY` 错误表明在安装必要的软件时，主实例的磁盘空间不足。

## 解决方案
<a name="BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_PRIMARY_resolution"></a>

 要解决此错误，请确认您的主实例的根卷上有足够的磁盘空间。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`primary-instance-id`**  
磁盘空间不足的主实例的 ID。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_PRIMARY_stc"></a>

1.  查看集群的 EBS 根设备卷的最佳实践。请参阅《Amazon EMR Management Guide》**中的 [自定义 Amazon EBS 根设备卷](emr-custom-ami-root-volume-size.md)。

1. 启动一个具有更大 EBS 根设备卷大小的新集群。

# BOOTSTRAP\$1FAILURE\$1INSUFFICIENT\$1DISK\$1SPACE\$1WORKER
<a name="BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_WORKER"></a>

## 概述
<a name="BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_WORKER_overview"></a>

 `BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_WORKER` 错误表明在安装必要的软件时，一个或多个工作线程实例的磁盘空间不足。

## 解决方案
<a name="BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_WORKER_resolution"></a>

 要解决此错误，请确认您的工作线程实例的根卷上有足够的磁盘空间。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`worker-instance-ids`**  
磁盘空间不足的工作器实例中的。 IDs 

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="BOOTSTRAP_FAILURE_INSUFFICIENT_DISK_SPACE_WORKER_stc"></a>

1.  查看集群的 EBS 根设备卷的最佳实践。请参阅《Amazon EMR Management Guide》**中的 [自定义 Amazon EBS 根设备卷](emr-custom-ami-root-volume-size.md)。

1. 启动一个具有更大 EBS 根设备卷大小的新集群。

# BOOTSTRAP\$1FAILURE\$1HIVE\$1METASTORE\$1CONNECTION\$1ERROR\$1PRIMARY
<a name="BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_PRIMARY"></a>

## 概述
<a name="BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_PRIMARY_overview"></a>

 `BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_PRIMARY` 错误表示主实例无法与配置的外部 Hive 元存储建立连接。

## 解决方案
<a name="BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_PRIMARY_resolution"></a>

 要解决此错误，请确保您的外部 Hive 元存储配置正确，并且允许主实例与其连接。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`primary-instance-id`**  
无法与配置的外部 Hive 元存储建立连接的主实例的 ID。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_PRIMARY_stc"></a>

1.  查看为 Hive 配置外部元存储的最佳实践。请参阅[为 Hive 配置外部元存储](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-metastore-external-hive.html)。

1. 使用更新的集群配置启动新集群。

# BOOTSTRAP\$1FAILURE\$1HIVE\$1METASTORE\$1CONNECTION\$1ERROR\$1WORKER
<a name="BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_WORKER"></a>

## 概述
<a name="BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_WORKER_overview"></a>

 `BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_WORKER` 错误表示一个或多个工作线程实例无法与配置的外部 Hive 元存储建立连接。

## 解决方案
<a name="BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_WORKER_resolution"></a>

 要解决此错误，请确保您的外部 Hive 元存储配置正确，并且允许工作线程实例与其连接。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`worker-instance-ids`**  
无法与配置 IDs 的外部 Hive Metastore 建立连接的工作器实例。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="BOOTSTRAP_FAILURE_HIVE_METASTORE_CONNECTION_ERROR_WORKER_stc"></a>

1.  查看为 Hive 配置外部元存储的最佳实践。请参阅[为 Hive 配置外部元存储](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-metastore-external-hive.html)。

1. 使用更新的集群配置启动新集群。

# Amazon EMR 的内部错误代码
<a name="emr-troubleshoot-error-errordetail-internal"></a>

以下部分提供了内部错误代码的问题排查信息，包括容量不足或无容量的代码。

**Topics**
+ [INTERNAL\$1ERROR\$1 \$1 EC2 CAPACITY\$1AZ 不足](INTERNAL_ERROR_EC2_INSUFFICIENT_CAPACITY_AZ.md)
+ [INTERNAL\$1ERROR\$1SPOT\$1PRICE\$1INCREASE\$1PRIMARY](INTERNAL_ERROR_SPOT_PRICE_INCREASE_PRIMARY.md)
+ [INTERNAL\$1ERROR\$1SPOT\$1NO\$1CAPACITY\$1PRIMARY](INTERNAL_ERROR_SPOT_NO_CAPACITY_PRIMARY.md)

# INTERNAL\$1ERROR\$1 \$1 EC2 CAPACITY\$1AZ 不足
<a name="INTERNAL_ERROR_EC2_INSUFFICIENT_CAPACITY_AZ"></a>

## 概述
<a name="INTERNAL_ERROR_EC2_INSUFFICIENT_CAPACITY_AZ_overview"></a>

当所选可用区没有足够的容量来满足您的 Amazon EC2 实例类型请求时，集群会终止并出现 `INTERNAL_ERROR_EC2_INSUFFICIENT_CAPACITY_AZ` 错误。为集群选择的子网决定可用区。有关 Amazon EMR 的子网的更多信息，请参阅 [在 VPC 中为 Amazon EMR 配置联网](emr-plan-vpc-subnet.md)。

## 解决方案
<a name="INTERNAL_ERROR_EC2_INSUFFICIENT_CAPACITY_AZ_resolution"></a>

要解决此错误，请修改您的实例类型配置并使用更新后的请求创建一个新集群。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`instance-type`**  
容量不足的实例类型。

**`availability-zone`**  
您的子网解析到的可用区。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="INTERNAL_ERROR_EC2_INSUFFICIENT_CAPACITY_AZ_stc"></a>

执行以下步骤以确定和修复集群配置错误的根本原因。
+ 查看集群配置的最佳实践。请参阅《Amazon EMR Management Guide》**中的 [为竞价型实例配置 Amazon EMR 集群实例类型和最佳实践](emr-plan-instances-guidelines.md)。
+ 排查启动问题并检查您的配置。请参阅《Amazon EC2 用户指南》**中的[排查实例启动问题](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshooting-launch.html)。
+ 使用更新的集群配置启动新集群。

# INTERNAL\$1ERROR\$1SPOT\$1PRICE\$1INCREASE\$1PRIMARY
<a name="INTERNAL_ERROR_SPOT_PRICE_INCREASE_PRIMARY"></a>

## 概述
<a name="INTERNAL_ERROR_SPOT_PRICE_INCREASE_PRIMARY_overview"></a>

当 Amazon EMR 由于实例不可用等于或低于您的最高竞价型价格而无法满足您对主节点的竞价型实例请求时，集群会终止并出现 `INTERNAL_ERROR_SPOT_PRICE_INCREASE_PRIMARY` 错误，。有关更多信息，请参阅 *Amazon EC2 用户指南*中的[竞价型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)。

## 解决方案
<a name="INTERNAL_ERROR_SPOT_PRICE_INCREASE_PRIMARY_resolution"></a>

要解决此错误，请为集群指定在目标价格范围内的实例类型，或者提高相同实例类型的价格限制。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`primary-instance-id`**  
失败集群的主实例的 ID。

**`instance-type`**  
容量不足的实例类型。

**`availability-zone`**  
您的子网所在的可用区。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="INTERNAL_ERROR_SPOT_PRICE_INCREASE_PRIMARY_stc"></a>

执行以下步骤排查集群配置策略的问题，然后启动新集群：

1. 查看 Amazon EC2 竞价型实例的最佳实践，并查看您的集群配置策略。有关更多信息，请参阅《Amazon EC2 用户指南》**和 [为竞价型实例配置 Amazon EMR 集群实例类型和最佳实践](emr-plan-instances-guidelines.md) 中的 [EC2 竞价型实例最佳实践](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html)。

1. 请修改您的实例类型配置或可用区，并使用更新后的请求创建一个新集群。

1. 如果问题仍然存在，请为主实例使用按需容量。

# INTERNAL\$1ERROR\$1SPOT\$1NO\$1CAPACITY\$1PRIMARY
<a name="INTERNAL_ERROR_SPOT_NO_CAPACITY_PRIMARY"></a>

## 概述
<a name="INTERNAL_ERROR_SPOT_NO_CAPACITY_PRIMARY_overview"></a>

当没有足够的容量来满足主节点的竞价型实例请求时，集群会终止并出现 `INTERNAL_ERROR_SPOT_NO_CAPACITY_PRIMARY` 错误。有关更多信息，请参阅 *Amazon EC2 用户指南*中的[竞价型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)。

## 解决方案
<a name="INTERNAL_ERROR_SPOT_NO_CAPACITY_PRIMARY_resolution"></a>

要解决此错误，请为集群指定在目标价格范围内的实例类型，或者提高相同实例类型的价格限制。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`primary-instance-id`**  
失败集群的主实例的 ID。

**`instance-type`**  
容量不足的实例类型。

**`availability-zone`**  
您的子网解析到的可用区。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="INTERNAL_ERROR_SPOT_NO_CAPACITY_PRIMARY_stc"></a>

执行以下步骤排查集群配置策略的问题，然后启动新集群：

1. 查看 Amazon EC2 竞价型实例的最佳实践，并查看您的集群配置策略。有关更多信息，请参阅《Amazon EC2 用户指南》**和 [为竞价型实例配置 Amazon EMR 集群实例类型和最佳实践](emr-plan-instances-guidelines.md) 中的 [EC2 竞价型实例最佳实践](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html)。

1. 请修改您的实例类型配置，并使用更新后的请求创建一个新集群。

1. 如果问题仍然存在，请为主实例使用按需容量。

# Amazon EMR 中的验证失败错误代码
<a name="emr-troubleshoot-error-errordetail-validation"></a>

以下各节提供验证失败错误代码的问题排查信息。

**Topics**
+ [VALIDATION\$1ERROR\$1SUBNET\$1NOT\$1FROM\$1ONE\$1VPC](VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC.md)
+ [VALIDATION\$1ERROR\$1SECURITY\$1GROUP\$1NOT\$1FROM\$1ONE\$1VPC](VALIDATION_ERROR_SECURITY_GROUP_NOT_FROM_ONE_VPC.md)
+ [VALIDATION\$1ERROR\$1INVALID\$1SSH\$1KEY\$1NAME](VALIDATION_ERROR_INVALID_SSH_KEY_NAME.md)
+ [VALIDATION\$1ERROR\$1INSTANCE\$1TYPE\$1NOT\$1SUPPORTED](VALIDATION_ERROR_INSTANCE_TYPE_NOT_SUPPORTED.md)

# VALIDATION\$1ERROR\$1SUBNET\$1NOT\$1FROM\$1ONE\$1VPC
<a name="VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC"></a>

## 概述
<a name="VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC_overview"></a>

当您的集群和您为集群引用的子网属于不同的虚拟私有云 (VPCs) 时，集群将因错误而终止。`VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC`您可以使用 Amazon EMR 在 VPC 中跨子网启动具有实例集配置的集群。有关实例集的更多信息，请参阅《Amazon EMR Management Guide》**中的 [规划和配置 Amazon EMR 集群的实例集](emr-instance-fleet.md)。

## 解决方案
<a name="VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC_resolution"></a>

要解决此错误，请使用与集群属于同一 VPC 的子网。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`vpc`**  
对于每个 子网:VPC 对，返回该子网所属的 VPC ID。

**`subnet`**  
对于每个 子网:VPC 对，返回该子网的 ID。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC_stc"></a>

执行以下步骤来识别和修复错误：

1. 查看`ErrorData`阵列中列 IDs 出的子网，确认它们属于您要启动 EMR 集群的 VPC。

1. 修改您的子网配置。您可以使用以下方法之一查找 VPC 中所有可用的公有和私有子网。
   + 导航到 Amazon VPC 控制台。选择 **Subnet** s，然后列出您的集群中驻留的所有子网。 AWS 区域 要仅查找公有子网或私有子网，请应用**自动分配公有 IPv4 地址过滤器**。要在您的集群使用的 VPC 中查找和选择子网，请使用**按 VPC 筛选**选项。有关如何创建子网的更多信息，请参阅《Amazon Virtual Private Cloud 用户指南》**中的[创建子网](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html)。
   + 使用 AWS CLI 查找您的集群使用的 VPC 中所有可用的公有和私有子网。有关更多信息，请参阅 [describe-subnets](https://amazonaws.com/ec2/describe-subnets.html) API。要在 VPC 中创建新的子网，请参阅 [create-subnet](https://amazonaws.com/ec2/create-subnet.html) API。

1. 启动一个新集群，其子网与集群属于同一 VPC。

# VALIDATION\$1ERROR\$1SECURITY\$1GROUP\$1NOT\$1FROM\$1ONE\$1VPC
<a name="VALIDATION_ERROR_SECURITY_GROUP_NOT_FROM_ONE_VPC"></a>

## 概述
<a name="VALIDATION_ERROR_SECURITY_GROUP_NOT_FROM_ONE_VPC_overview"></a>

当您的集群和分配给集群的安全组属于不同的虚拟私有云 (VPCs) 时，集群将因`VALIDATION_ERROR_SECURITY_GROUP_NOT_FROM_ONE_VPC`错误而终止。有关安全组的更多信息，请参阅 [指定 Amazon EMR 托管的安全组和其它安全组](emr-sg-specify.md) 和 [使用 Amazon EMR 集群的安全组控制网络流量](emr-security-groups.md)。

## 解决方案
<a name="VALIDATION_ERROR_SECURITY_GROUP_NOT_FROM_ONE_VPC_resolution"></a>

要解决此错误，请使用与集群属于同一 VPC 的安全组。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`vpc`**  
对于每个安全组:VPC 对，返回该安全组所属的 VPC 的 ID。

**`security-group`**  
对于每个安全组:VPC 对，返回该安全组的 ID。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="VALIDATION_ERROR_SECURITY_GROUP_NOT_FROM_ONE_VPC_stc"></a>

执行以下步骤来识别和修复错误：

1. 查看`ErrorData`阵列中列出的安全组 IDs ，确认它们属于您要启动 EMR 集群的 VPC。

1. 导航到 Amazon VPC 控制台。选择**安全组**以列出所选区域内的所有安全组。在与您的集群相同的 VPC 中找到安全组，然后修改您的安全组配置。

1. 启动一个新集群，其安全组与集群属于同一 VPC。

# VALIDATION\$1ERROR\$1INVALID\$1SSH\$1KEY\$1NAME
<a name="VALIDATION_ERROR_INVALID_SSH_KEY_NAME"></a>

## 概述
<a name="VALIDATION_ERROR_INVALID_SSH_KEY_NAME_overview"></a>

当您使用无法通过 SSH 连接到主实例的 Amazon EC2 密钥对时，集群会终止并出现 `VALIDATION_ERROR_INVALID_SSH_KEY_NAME` 错误。密钥对名称可能不正确，或者请求的密钥对中可能不存在 AWS 区域。有关密钥对的更多信息，请参阅《Amazon EC2 用户指南》**中的 [Amazon EC2 密钥对和 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。

## 解决方案
<a name="VALIDATION_ERROR_INVALID_SSH_KEY_NAME_resolution"></a>

要解决此错误，请使用有效的 SSH 密钥对名称创建一个新集群。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`ssh-key`**  
您在创建集群时提供的 SSH 密钥对名称。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="VALIDATION_ERROR_INVALID_SSH_KEY_NAME_stc"></a>

执行以下步骤来识别和修复错误：

1. 检查您的 *keypair* .pem 文件并确认它与您在 Amazon EMR 控制台中看到的 SSH 密钥的名称相匹配。

1. 导航到 Amazon EC2 控制台。确认您使用的 SSH 密钥名称在您的集群 AWS 区域 使用的中可用。您可以在顶部的账户 ID AWS 区域 旁边找到您的账户 ID AWS 管理控制台。

1. 使用有效 SSH 密钥名称启动新集群。

# VALIDATION\$1ERROR\$1INSTANCE\$1TYPE\$1NOT\$1SUPPORTED
<a name="VALIDATION_ERROR_INSTANCE_TYPE_NOT_SUPPORTED"></a>

## 概述
<a name="VALIDATION_ERROR_INSTANCE_TYPE_NOT_SUPPORTED_overview"></a>

如果您的集群的 AWS 区域 和可用区不支持一个或多个实例组的指定实例类型，则集群会终止并出现 `VALIDATION_ERROR_INSTANCE_TYPE_NOT_SUPPORTED` 错误。Amazon EMR 可能支持区域内一个可用区中的某个实例类型，但不支持另一个可用区中的实例类型。您为集群选择的子网决定了区域内的可用区。如需了解 Amazon EMR 支持的实例类型和区域，请参阅 [Amazon EMR 支持的实例类型](emr-supported-instance-types.md)。

## 解决方案
<a name="VALIDATION_ERROR_INSTANCE_TYPE_NOT_SUPPORTED_resolution"></a>

要解决此错误，请在您请求集群的区域和可用区中指定 Amazon EMR 支持的集群实例类型。

要对出现故障的 EMR 集群进行故障排除，请参阅和返回`ErrorDetail`的信息。`DescribeCluster` `ListClusters` APIs有关更多信息，请参阅 [Amazon EMR 中包含 ErrorDetail 信息的错误代码](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 中的 `ErrorData` 数组返回此错误代码的以下信息：

**`instance-types`**  
不支持的实例类型列表。

**`availability-zones`**  
您的子网解析到的可用区列表。

**`public-doc`**  
错误代码文档的公有 URL。

## 完成步骤
<a name="VALIDATION_ERROR_INSTANCE_TYPE_NOT_SUPPORTED_stc"></a>

执行以下步骤来识别和修复错误：

1.  AWS CLI 使用检索可用区中的可用实例类型。为此，您可以使用`[ec2 describe-instance-type-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-type-offerings.html)`命令按位置（AWS 区域 或可用区）筛选可用的实例类型。例如，以下命令返回指定可用区 `us-east-2a` 中提供的实例类型。

   ```
   aws ec2 describe-instance-type-offerings --location-type "availability-zone" --filters Name=location,Values=us-east-2a --region us-east-2 --query "InstanceTypeOfferings[*].[InstanceType]" --output text | sort
   ```

   要了解有关如何发现可用实例类型的更多信息，请参阅[查找 Amazon EC2 实例类型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-discovery.html)。

1. 确定与集群的相同区域和可用区中可用的实例类型后，请选择以下解决方案之一继续：

   1. 在您所选的实例类型可用且受 Amazon EMR 支持的可用区中，创建新集群并为该集群选择子网。

   1. 在与集群失败的相同区域和 Amazon EC2 子网中创建一个新集群，但使用在该位置受 Amazon EMR 支持的实例类型。

如需了解 Amazon EMR 支持的实例类型和区域，请参阅 [Amazon EMR 支持的实例类型](emr-supported-instance-types.md)。要比较实例类型的功能，请参阅 [Amazon EC2 实例类型](https://aws.amazon.com/ec2/instance-types)。