

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

# 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)。