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实例配置文件)

有关引导操作的更多信息,请参阅 创建引导操作以使用 Amazon EMR 集群安装其他软件

解决方案

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

要对出现故障的 EMR 集群进行故障排除,请参阅和返回ErrorDetail的信息。DescribeCluster ListClusters APIs有关更多信息,请参阅 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. 使用更新的引导操作启动新集群。