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 集群问题,请参阅 DescribeCluster
和 ListClusters
API 返回的 ErrorDetail
信息。有关更多信息,请参阅包含 ErrorDetail 信息的错误代码。ErrorDetail
中的 ErrorData
数组返回此错误代码的以下信息:
primary-instance-id
-
引导操作失败的主实例的 ID。
bootstrap-action
-
失败的引导操作的序号。
bootstrap-action
值为1
的脚本是在实例上运行的第一个引导操作。 amazon-s3-path
-
失败的引导操作的 Amazon S3 位置。
public-doc
-
错误代码文档的公有 URL。
完成步骤
执行以下步骤以确定和修复引导操作错误的根本原因。然后启动新集群。
故障排除步骤
-
使用
ErrorData
数组中的amazon-s3-path
值在 Amazon S3 中查找相关的引导操作脚本。 -
如果您在创建实例时开启了集群日志,请参阅
stdout
日志以了解更多信息。您可以在以下 Amazon S3 位置找到引导操作的stdout
日志:s3://
EXAMPLE-BUCKET
/logs/Your_Cluster_Id/node/Primary_Instance_Id/bootstrap-actions/Failed_Bootstrap_Action_Number/stdout.gz有关集群的更多信息,请参阅 配置集群日志记录和调试。
-
要确定引导操作失败,请查看
stdout
日志中的异常以及ErrorData
中的return-code
值。 -
使用上一步中的发现来修改您的引导操作,使其避免异常或在异常发生时可以正常地处理异常。
-
使用更新的引导操作启动新集群。