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

运行任务时的常见错误

当您运行 StartJobRun API 时,可能会发生以下错误。

错误消息 错误条件 向您建议的后续步骤

error: argument --argument is required

缺少必需参数。 将缺少的实参添加到 API 请求中。
调用 StartJobRun 操作时出现错误(AccessDeniedException):User: ARN is not authorized to perform: emr-containers:StartJobRun(用户:ARN 未获授权执行:emr-containers:StartJobRun) 缺少执行角色。 请参阅使用 将任务执行角色与 Amazon EMR on EKS 结合使用

调用 StartJobRun 操作时出现错误(AccessDeniedException):User: ARN is not authorized to perform: emr-containers:StartJobRun(用户:ARN 未获授权执行:emr-containers:StartJobRun)

调用方没有权限通过条件键访问执行角色 [[有效/无效格式]。

请参阅将任务执行角色与 Amazon EMR on EKS 结合使用

调用 StartJobRun 操作时出现错误(AccessDeniedException):User: ARN is not authorized to perform: emr-containers:StartJobRun(用户:ARN 未获授权执行:emr-containers:StartJobRun)

任务提交者和执行角色 ARN 来自不同的账户。

确保任务提交者和执行角色 ARN 来自同一 Amazon 账户。

检测到 1 个验证错误:Value Role at 'executionRoleArn' failed to satisfy the ARN regular expression pattern: ^arn:(aws[[a-zA-Z0-9-]*):iam::(\d{12})?:(role((\u002F)|(\u002F[[\u0021-\u007F]+\u002F))[[\w+=,.@-]+) [“executionRoleArn”的值 Role 不满足 ARN 正则表达式模式:^arn:(aws[[a-zA-Z0-9-]*):iam::(\d{12})?:(role((\u002F)|(\u002F[[\u0021-\u007F]+\u002F))[[\w+=,.@-]+)]

调用方拥有通过条件键执行角色的权限,但该角色不满足 ARN 格式的约束条件。

提供遵循 ARN 格式的执行角色。请参阅将任务执行角色与 Amazon EMR on EKS 结合使用

调用 StartJobRun 操作时出现错误(ResourceNotFoundException):Virtual cluster Virtual Cluster ID doesn't exist(虚拟集群 Virtual Cluster ID 不存在)。

找不到虚拟集群 ID。

请提供在 Amazon EMR on EKS 上注册的虚拟集群 ID。

调用 StartJobRun 操作时出现错误(ValidationException):Virtual cluster state state is not valid to create resource JobRun(虚拟集群状态 state 无效,无法创建资源 JobRun)。

虚拟集群尚未准备好执行任务。

请参阅虚拟集群状态

调用 StartJobRun 操作时出现错误(ResourceNotFoundException):Release RELEASE doesn't exist。

任务提交中指定的版本不正确。

请参阅Amazon EMR on EKS 版本

调用 StartJobRun 操作时出现错误(AccessDeniedException):User: ARN is not authorized to perform: emr-containers:StartJobRun on resource: ARN with an explicit deny(用户:ARN 未获授权以显式拒绝在资源:ARN 上执行:emr-containers:StartJobRun)

调用 StartJobRun 操作时出现错误(AccessDeniedException):User: ARN is not authorized to perform: emr-containers:StartJobRun on resource: ARN(用户:ARN 未获授权在资源:ARN上执行:emr-containers:StartJobRun)

用户无权调用 StartJobRun。 请参阅将任务执行角色与 Amazon EMR on EKS 结合使用

调用 StartJobRun 操作时出现错误(ValidationException):configurationOverrides.monitoringConfiguration.s3MonitoringConfiguration.logUri failed to satisfy constraint : %s(configurationOverrides.monitoringConfiguration.s3MonitoringConfiguration.logUri 不满足限制:%s)

S3 路径 URI 语法无效。

logUri 的格式应为 s3://...

当您在任务运行之前运行 DescribeJobRun API 时,可能会发生以下错误。

错误消息 错误条件 向您建议的后续步骤

stateDetails:JobRun 提交失败。

分类 classification 不受支持。

failureReason:VALIDATION_ERROR

state: FAILED。

StartJobRun 中的参数无效。 请参阅Amazon EMR on EKS 版本

stateDetails:集群 EKS Cluster ID 不存在。

failureReason: CLUSTER_UNAVAILABLE

state: FAILED

EKS 集群不可用。 检查 EKS 集群是否存在并拥有适当的权限。有关更多信息,请参阅设置 Amazon EMR on EKS

stateDetails:集群 EKS Cluster ID 没有足够的权限。

failureReason: CLUSTER_UNAVAILABLE

state: FAILED

Amazon EMR 无权访问 EKS 集群。

验证是否在已注册的命名空间上为 Amazon EMR 设置了权限。有关更多信息,请参阅设置 Amazon EMR on EKS

stateDetails: 集群 EKS Cluster ID 目前不可访问。

failureReason: CLUSTER_UNAVAILABLE

state: FAILED

无法访问 EKS 集群。

检查 EKS 集群是否存在并拥有适当的权限。有关更多信息,请参阅设置 Amazon EMR on EKS

stateDetails:由于内部错误,JobRun 提交失败。

failureReason: INTERNAL_ERROR

state: FAILED

EKS 集群内部出现错误。

不适用

stateDetails:集群 EKS Cluster ID 没有足够的资源。

failureReason: USER_ERROR

state: FAILED

EKS 集群中没有足够的资源来运行任务。

向 EKS 节点组添加更多容量或设置 EKS Autoscaler。有关更多信息,请参阅 Cluster Autoscaler

当您在任务运行后运行 DescribeJobRun API 时,会出现以下错误。

错误消息 错误条件 向您建议的后续步骤

stateDetails:监控 JobRun 时出现问题。

集群 EKS Cluster ID 不存在。

failureReason: CLUSTER_UNAVAILABLE

state: FAILED

该 EKS 集群不存在。 检查 EKS 集群是否存在并拥有适当的权限。有关更多信息,请参阅设置 Amazon EMR on EKS

stateDetails:监控 JobRun 时出现问题。

集群 EKS Cluster ID 没有足够的权限。

failureReason: CLUSTER_UNAVAILABLE

state: FAILED

Amazon EMR 无权访问 EKS 集群。 验证是否在已注册的命名空间上为 Amazon EMR 设置了权限。有关更多信息,请参阅设置 Amazon EMR on EKS

stateDetails:监控 JobRun 时出现问题。

集群 EKS Cluster ID 目前不可访问。

failureReason: CLUSTER_UNAVAILABLE

state: FAILED

无法访问 EKS 集群。

检查 EKS 集群是否存在并拥有适当的权限。有关更多信息,请参阅设置 Amazon EMR on EKS

stateDetails:由于内部错误,监控 JobRun 时出现问题

failureReason: INTERNAL_ERROR

state: FAILED

由于发生内部错误,JobRun 监控已被阻止。

不适用

当作业无法启动且作业在“已提交”状态下等待 15 分钟时,可能会发生以下错误。这可能是由于集群资源缺失导致的。

错误消息 错误条件 向您建议的后续步骤

集群超时

作业处于“已提交”状态已有 15 分钟或更长时间。 您可以使用下面所示的配置覆盖来覆盖此参数的默认设置 15 分钟。

使用以下配置,将集群超时设置更改为 30 分钟。请注意,您提供的新 job-start-timeout 值应以秒为单位:

{ "configurationOverrides": { "applicationConfiguration": [{ "classification": "emr-containers-defaults", "properties": { "job-start-timeout":"1800" } }] }