运行任务时的常见错误
当您运行 StartJobRun
API 时,可能会发生以下错误。
错误消息 | 错误条件 | 向您建议的后续步骤 |
---|---|---|
error: argument -- |
缺少必需参数。 | 将缺少的实参添加到 API 请求中。 |
调用 StartJobRun 操作时出现错误(AccessDeniedException):User: ARN is not authorized to perform: emr-containers:StartJobRun(用户:ARN 未获授权执行:emr-containers:StartJobRun) |
缺少执行角色。 | 请参阅使用 将任务执行角色与 Amazon EMR on EKS 结合使用。 |
调用 StartJobRun 操作时出现错误(AccessDeniedException):User: |
调用方没有权限通过条件键访问执行角色 [[有效/无效格式]。 |
请参阅将任务执行角色与 Amazon EMR on EKS 结合使用。 |
调用 StartJobRun 操作时出现错误(AccessDeniedException):User: |
任务提交者和执行角色 ARN 来自不同的账户。 |
确保任务提交者和执行角色 ARN 来自同一 Amazon 账户。 |
检测到 1 个验证错误:Value |
调用方拥有通过条件键执行角色的权限,但该角色不满足 ARN 格式的约束条件。 |
提供遵循 ARN 格式的执行角色。请参阅将任务执行角色与 Amazon EMR on EKS 结合使用。 |
调用 StartJobRun 操作时出现错误(ResourceNotFoundException):Virtual cluster |
找不到虚拟集群 ID。 |
请提供在 Amazon EMR on EKS 上注册的虚拟集群 ID。 |
调用 StartJobRun 操作时出现错误(ValidationException):Virtual cluster state |
虚拟集群尚未准备好执行任务。 |
请参阅虚拟集群状态。 |
调用 StartJobRun 操作时出现错误(ResourceNotFoundException):Release |
任务提交中指定的版本不正确。 |
请参阅Amazon EMR on EKS 版本。 |
调用 StartJobRun 操作时出现错误(AccessDeniedException):User: 调用 StartJobRun 操作时出现错误(AccessDeniedException):User: |
用户无权调用 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 提交失败。 分类 failureReason:VALIDATION_ERROR state: FAILED。 |
StartJobRun 中的参数无效。 | 请参阅Amazon EMR on EKS 版本。 |
stateDetails:集群 failureReason: CLUSTER_UNAVAILABLE state: FAILED |
EKS 集群不可用。 | 检查 EKS 集群是否存在并拥有适当的权限。有关更多信息,请参阅设置 Amazon EMR on EKS。 |
stateDetails:集群 failureReason: CLUSTER_UNAVAILABLE state: FAILED |
Amazon EMR 无权访问 EKS 集群。 |
验证是否在已注册的命名空间上为 Amazon EMR 设置了权限。有关更多信息,请参阅设置 Amazon EMR on EKS。 |
stateDetails: 集群 failureReason: CLUSTER_UNAVAILABLE state: FAILED |
无法访问 EKS 集群。 |
检查 EKS 集群是否存在并拥有适当的权限。有关更多信息,请参阅设置 Amazon EMR on EKS。 |
stateDetails:由于内部错误,JobRun 提交失败。 failureReason: INTERNAL_ERROR state: FAILED |
EKS 集群内部出现错误。 |
不适用 |
stateDetails:集群 failureReason: USER_ERROR state: FAILED |
EKS 集群中没有足够的资源来运行任务。 |
向 EKS 节点组添加更多容量或设置 EKS Autoscaler。有关更多信息,请参阅 Cluster Autoscaler。 |
当您在任务运行后运行 DescribeJobRun
API 时,会出现以下错误。
错误消息 | 错误条件 | 向您建议的后续步骤 |
---|---|---|
stateDetails:监控 JobRun 时出现问题。 集群 failureReason: CLUSTER_UNAVAILABLE state: FAILED |
该 EKS 集群不存在。 | 检查 EKS 集群是否存在并拥有适当的权限。有关更多信息,请参阅设置 Amazon EMR on EKS。 |
stateDetails:监控 JobRun 时出现问题。 集群 failureReason: CLUSTER_UNAVAILABLE state: FAILED |
Amazon EMR 无权访问 EKS 集群。 | 验证是否在已注册的命名空间上为 Amazon EMR 设置了权限。有关更多信息,请参阅设置 Amazon EMR on EKS。 |
stateDetails:监控 JobRun 时出现问题。 集群 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" } }] }