

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

當您的叢集和您為叢集參考的子網路屬於不同的虛擬私有雲端 (VPC) 時，叢集將終止並顯示 `VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC` 錯誤。您可以使用 Amazon EMR 啟動叢集，並在 VPC 中跨子網路設定執行個體機群。如需有關執行個體機群的詳細資訊，請參閱《Amazon EMR 管理指南》**中 [為您的 Amazon EMR 叢集規劃和設定執行個體機群](emr-instance-fleet.md)。

## Resolution
<a name="VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC_resolution"></a>

若要解決此錯誤，請使用與叢集屬於相同 VPC 的子網路。

若要對失敗的 EMR 叢集進行疑難排解，請參閱從 `DescribeCluster` 和 `ListClusters` API 傳回的 `ErrorDetail` 資訊。如需詳細資訊，請參閱[Amazon EMR 中具有 ErrorDetail 資訊的錯誤代碼](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 內的 `ErrorData` 陣列會傳回此錯誤代碼的下列資訊：

**`vpc`**  
對於每個 subnet:VPC 對，為子網路所屬 VPC 的 ID。

**`subnet`**  
對於每個 subnet:VPC 對，為子網路的 ID。

**`public-doc`**  
錯誤代碼文件的公有 URL。

## 要完成的步驟
<a name="VALIDATION_ERROR_SUBNET_NOT_FROM_ONE_VPC_stc"></a>

請執行下列步驟以識別並修正錯誤：

1. 檢閱 `ErrorData` 陣列中列出的子網路 ID，並確認它們屬於您要啟動 EMR 叢集的 VPC。

1. 修改您的子網路組態。您可以使用下列其中一種方法來尋找 VPC 中所有可用的公有和私有子網路。
   + 導覽至 Amazon VPC 主控台。選擇**子網路**，並為您的 AWS 區域 叢集列出位於 內的所有子網路。若要僅尋找公有或私有子網路，請套用**自動指派公有 IPv4 地址**篩選條件。若要在叢集使用的 VPC 中尋找並選取子網路，請使用**依 VPC 篩選**選項。如需有關如何建立子網路的詳細資訊，請參閱《Amazon 虛擬私有雲端使用者指南》**中的[建立子網路](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>

當您的叢集和指派給叢集的安全群組屬於不同的虛擬私有雲端 (VPC) 時，叢集將終止並顯示 `VALIDATION_ERROR_SECURITY_GROUP_NOT_FROM_ONE_VPC` 錯誤。如需有關安全群組的詳細資訊，請參閱 [指定 Amazon EMR 受管安全群組和額外的安全群組](emr-sg-specify.md) 和 [使用 Amazon EMR 叢集的安全群組控制網路流量](emr-security-groups.md)。

## Resolution
<a name="VALIDATION_ERROR_SECURITY_GROUP_NOT_FROM_ONE_VPC_resolution"></a>

若要解決此錯誤，請使用與叢集屬於相同 VPC 的安全群組。

若要對失敗的 EMR 叢集進行疑難排解，請參閱從 `DescribeCluster` 和 `ListClusters` API 傳回的 `ErrorDetail` 資訊。如需詳細資訊，請參閱[Amazon EMR 中具有 ErrorDetail 資訊的錯誤代碼](emr-troubleshoot-error-errordetail.md)。`ErrorDetail` 內的 `ErrorData` 陣列會傳回此錯誤代碼的下列資訊：

**`vpc`**  
對於每個 security-group:VPC 對，為安全群組所屬的 VPC ID。

**`security-group`**  
對於每個 security-group:VPC 對，為安全群組 ID。

**`public-doc`**  
錯誤代碼文件的公有 URL。

## 要完成的步驟
<a name="VALIDATION_ERROR_SECURITY_GROUP_NOT_FROM_ONE_VPC_stc"></a>

請執行下列步驟以識別並修正錯誤：

1. 檢閱 `ErrorData` 陣列中列出的安全群組 ID，並確認它們屬於您要啟動 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)。 *Amazon EC2 *

## Resolution
<a name="VALIDATION_ERROR_INVALID_SSH_KEY_NAME_resolution"></a>

若要解決此錯誤，請使用有效的 SSH 金鑰對名稱建立新叢集。

若要對失敗的 EMR 叢集進行疑難排解，請參閱從 `DescribeCluster` 和 `ListClusters` API 傳回的 `ErrorDetail` 資訊。如需詳細資訊，請參閱[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 區域 旁找到您的 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)。

## Resolution
<a name="VALIDATION_ERROR_INSTANCE_TYPE_NOT_SUPPORTED_resolution"></a>

若要解決此錯誤，請在請求叢集的區域和可用區域中指定 Amazon EMR 支援的叢集的執行個體類型。

若要對失敗的 EMR 叢集進行疑難排解，請參閱從 `DescribeCluster` 和 `ListClusters` API 傳回的 `ErrorDetail` 資訊。如需詳細資訊，請參閱[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 區域 或可用區域） 篩選可用的執行個體類型。例如，下列命令會傳回指定 AZ `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)。