

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 运行任务时的常见错误
<a name="emr-eks-jobs-error"></a>

当您运行 `StartJobRun` API 时，可能会发生以下错误。表中列出了每个错误，提供了缓解措施，以便您快速解决问题。


| 错误消息 | 错误条件 | 向您建议的后续步骤 | 
| --- | --- | --- | 
| 错误：参数--{{argument}} 为必填项 | 缺少必需参数。 | 将缺少的实参添加到 API 请求中。 | 
| 调用 StartJobRun操作时出错 (AccessDeniedException)：用户：无权执行：emr-con {{ARN}} tainers：StartJobRun | 缺少执行角色。 | 请参阅使用 [将任务执行角色与 Amazon EMR on EKS 结合使用](iam-execution-role.md)。 | 
| 调用 StartJobRun操作时出错 (AccessDeniedException)：用户：无权执行：emr-con {{ARN}} tainers：StartJobRun | 调用方没有权限通过条件键访问执行角色 [[有效/无效格式]。 | 请参阅[将任务执行角色与 Amazon EMR on EKS 结合使用](iam-execution-role.md)。 | 
| 调用 StartJobRun操作时出错 (AccessDeniedException)：用户：无权执行：emr-con {{ARN}} tainers：StartJobRun | 任务提交者和执行角色 ARN 来自不同的账户。 | 确保任务提交者和执行角色 ARN 来自同一 Amazon 账户。 | 
| 检测到 1 个验证错误：“executionRoleArn” {{Role}} 处的值未能满足 ARN 正则表达式模式：^arn :( aws [a-za-z0-9-] \*): iam:: (\\ d {12})？ : (角色 (\\ u002f) \| (\\ u002F [\\ u0021-\\ u007F] \+\\ u002F)) [\\ w\+=, .@-] \+) [\\ w\+=, .@-] \+) | 调用方拥有通过条件键执行角色的权限，但该角色不满足 ARN 格式的约束条件。 | 提供遵循 ARN 格式的执行角色。请参阅[将任务执行角色与 Amazon EMR on EKS 结合使用](iam-execution-role.md)。 | 
| 调用 StartJobRun操作时出错 (ResourceNotFoundException)：虚拟群集{{Virtual Cluster ID}}不存在。 | 找不到虚拟集群 ID。 | 请提供在 Amazon EMR on EKS 上注册的虚拟集群 ID。 | 
| 调用 StartJobRun操作时出现错误 (ValidationException)：虚拟群集{{state}}状态对创建资源无效 JobRun。 | 虚拟集群尚未准备好执行任务。 | 请参阅[虚拟集群状态](virtual-cluster.md#virtual-cluster-states)。 | 
| 调用 StartJobRun操作时出错 (ResourceNotFoundException)：版本{{RELEASE}}不存在。 | 任务提交中指定的版本不正确。 | 请参阅[Amazon EMR on EKS 版本](emr-eks-releases.md)。 | 
| 调用 StartJobRun操作时出现错误 (AccessDeniedException)：用户：无权在资源StartJobRun 上执行：{{ARN}}emr-containers：{{ARN}}并明确拒绝。<br />调用 StartJobRun操作时出错 (AccessDeniedException)：用户：无权在资源StartJobRun 上执行：{{ARN}}emr-containers：{{ARN}} | 用户无权拨打电话 StartJobRun。 | 请参阅[将任务执行角色与 Amazon EMR on EKS 结合使用](iam-execution-role.md)。 | 
| 调用 StartJobRun操作时出错 (ValidationException)：ConfigurationOverrides.monitoringConfiguration.s3 .log MonitoringConfiguration uri 无法满足约束条件：%s | S3 路径 URI 语法无效。 | logUri 的格式应为 s3://... | 

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


| 错误消息 | 错误条件 | 向您建议的后续步骤 | 
| --- | --- | --- | 
| StateDetails： JobRun 提交失败。<br />{{classification}}不支持分类。<br />failureReason：VALIDATION\_ERROR<br />state: FAILED。 | 中的 StartJobRun 参数无效。 | 请参阅[Amazon EMR on EKS 版本](emr-eks-releases.md)。 | 
| 状态详情：集群{{EKS Cluster ID}}不存在。<br />failureReason: CLUSTER\_UNAVAILABLE<br />state: FAILED | EKS 集群不可用。 | 检查 EKS 集群是否存在并拥有适当的权限。有关更多信息，请参阅 [设置 Amazon EMR on EKS](setting-up.md)。 | 
| StateDetails：集群{{EKS Cluster ID}}没有足够的权限。<br />failureReason: CLUSTER\_UNAVAILABLE<br />state: FAILED | Amazon EMR 无权访问 EKS 集群。 | 验证是否在已注册的命名空间上为 Amazon EMR 设置了权限。有关更多信息，请参阅 [设置 Amazon EMR on EKS](setting-up.md)。 | 
| StateDetails：{{EKS Cluster ID}}目前无法访问集群。<br />failureReason: CLUSTER\_UNAVAILABLE<br />state: FAILED | 无法访问 EKS 集群。 | 检查 EKS 集群是否存在并拥有适当的权限。有关更多信息，请参阅 [设置 Amazon EMR on EKS](setting-up.md)。 | 
| StateDetails：由于内部错误， JobRun 提交失败。<br />failureReason: INTERNAL\_ERROR<br />state: FAILED | EKS 集群内部出现错误。 | 不适用 | 
| 状态详情：集群{{EKS Cluster ID}}没有足够的资源。<br />failureReason: USER\_ERROR<br />state: FAILED | EKS 集群中没有足够的资源来运行任务。 | 向 EKS 节点组添加更多容量或设置 EKS Autoscaler。有关更多信息，请参阅 [Cluster Autoscaler](https://docs.amazonaws.cn/eks/latest/userguide/cluster-autoscaler.html)。 | 

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


| 错误消息 | 错误条件 | 向您建议的后续步骤 | 
| --- | --- | --- | 
| StateDetails: 无法监控您的 JobRun.<br />集群{{EKS Cluster ID}}不存在。<br />failureReason: CLUSTER\_UNAVAILABLE<br />state: FAILED | 该 EKS 集群不存在。 | 检查 EKS 集群是否存在并拥有适当的权限。有关更多信息，请参阅 [设置 Amazon EMR on EKS](setting-up.md)。 | 
| StateDetails: 无法监控您的 JobRun.<br />集群权限{{EKS Cluster ID}}不足。<br />failureReason: CLUSTER\_UNAVAILABLE<br />state: FAILED | Amazon EMR 无权访问 EKS 集群。 | 验证是否在已注册的命名空间上为 Amazon EMR 设置了权限。有关更多信息，请参阅 [设置 Amazon EMR on EKS](setting-up.md)。 | 
| StateDetails: 无法监控您的 JobRun.<br />{{EKS Cluster ID}}目前无法访问集群。<br />failureReason: CLUSTER\_UNAVAILABLE<br />state: FAILED | 无法访问 EKS 集群。 | 检查 EKS 集群是否存在并拥有适当的权限。有关更多信息，请参阅 [设置 Amazon EMR on EKS](setting-up.md)。 | 
| StateDetails： JobRun 由于内部错误，无法监控您的状态<br />failureReason: INTERNAL\_ERROR<br />state: FAILED | 发生了内部错误，无法进行 JobRun 监控。 | 不适用 | 

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


| 错误消息 | 错误条件 | 向您建议的后续步骤 | 
| --- | --- | --- | 
| 集群超时 | 作业处于“已提交”状态已有 15 分钟或更长时间。 | 您可以使用下面所示的配置覆盖来覆盖此参数的默认设置 15 分钟。 | 

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

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