BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_PRIMARY - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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 实例配置文件)的服务角色

有关引导操作的更多信息,请参阅 创建引导操作以安装其它软件

解析

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

要排查失败的 EMR 集群问题,请参阅 DescribeClusterListClusters API 返回的 ErrorDetail 信息。有关更多信息,请参阅包含 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://EXAMPLE-BUCKET/logs/Your_Cluster_Id/node/Primary_Instance_Id/bootstrap-actions/Failed_Bootstrap_Action_Number/stdout.gz

    有关集群的更多信息,请参阅 配置集群日志记录和调试

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

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

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