

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

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

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

若要解決此錯誤，請確保您的主要執行個體具有引導操作指令碼的適當存取權。

若要對失敗的 EMR 叢集進行疑難排解，請參閱從 `DescribeCluster` 和 `ListClusters` API 傳回的 `ErrorDetail` 資訊。如需詳細資訊，請參閱[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. 啟動具有更新的引導操作的新叢集。