View a markdown version of this page

BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_PRIMARY - Amazon EMR

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

BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_PRIMARY

概觀

當主要執行個體無法從您指定的 Amazon S3 位置下載引導操作指令碼時,叢集將終止並出現 BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_PRIMARY 錯誤。潛在原因包括:

  • 引導操作指令碼檔案不在指定的 Amazon S3 位置。

  • 叢集上 Amazon EC2 執行個體的服務角色 (也稱為 Amazon EMR 的 EC2 執行個體設定檔) 沒有存取引導操作指令碼所在的 Amazon S3 儲存貯體的許可。如需服務角色的詳細資訊,請參閱叢集 EC2 執行個體的服務角色 (EC2 執行個體設定檔)。

如需有關引導操作的詳細資訊,請參閱 建立引導操作以使用 Amazon EMR 叢集安裝其他軟體。

Resolution

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

若要對失敗的 EMR 叢集進行疑難排解,請參閱從 DescribeCluster 和 ListClusters API 傳回的 ErrorDetail 資訊。如需詳細資訊,請參閱Amazon EMR 中具有 ErrorDetail 資訊的錯誤代碼。ErrorDetail 內的 ErrorData 陣列會傳回此錯誤代碼的下列資訊:

primary-instance-id

引導操作失敗的主要執行個體 ID。

bootstrap-action

失敗的引導操作的序號。bootstrap-action 值為 1 的指令碼是在執行個體上執行的第一個引導操作。

amazon-s3-path

失敗的引導操作的 Amazon S3 位置。

public-doc

錯誤代碼文件的公有 URL。

要完成的步驟

請執行下列步驟來識別並修正引導操作錯誤的根本原因。然後啟動新叢集。

疑難排解步驟
  1. 使用 ErrorData 陣列中的 amazon-s3-path 值尋找 Amazon S3 中的相關引導操作指令碼。

  2. 如果您在建立執行個體時開啟叢集日誌,請參閱 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 叢集記錄和偵錯。

  3. 若要確定引導操作失敗,請檢閱 stdout 日誌中的例外狀況,以及 ErrorData 中的 return-code 值。

  4. 使用上一步中的調查結果來修訂引導操作,以便避免例外狀況或在發生例外狀況時可以正常地處理。

  5. 啟動具有更新的引導操作的新叢集。