

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

# 运行任务时的常见错误
<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 来自同一 AWS 账户。 | 
|  检测到 1 个验证错误：“executionRoleArn” *Role* 处的值未能满足 ARN 正则表达式模式：^arn :( aws [a-za-z0-9-] \$1): iam:: (\$1 d \$112\$1)？ : (角色 (\$1 u002f) \$1 (\$1 u002F [\$1 u0021-\$1 u007F] \$1\$1 u002F)) [\$1 w\$1=, .@-] \$1) [\$1 w\$1=, .@-] \$1)  |  调用方拥有通过条件键执行角色的权限，但该角色不满足 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*并明确拒绝。 调用 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 提交失败。 *classification*不支持分类。 failureReason：VALIDATION\$1ERROR state: FAILED。  | 中的 StartJobRun 参数无效。 | 请参阅[Amazon EMR on EKS 版本](emr-eks-releases.md)。 | 
|  状态详情：集群*EKS Cluster ID*不存在。 failureReason: CLUSTER\$1UNAVAILABLE state: FAILED  | EKS 集群不可用。 | 检查 EKS 集群是否存在并拥有适当的权限。有关更多信息，请参阅 [设置 Amazon EMR on EKS](setting-up.md)。 | 
|  StateDetails：集群*EKS Cluster ID*没有足够的权限。 failureReason: CLUSTER\$1UNAVAILABLE state: FAILED  |  Amazon EMR 无权访问 EKS 集群。  | 验证是否在已注册的命名空间上为 Amazon EMR 设置了权限。有关更多信息，请参阅 [设置 Amazon EMR on EKS](setting-up.md)。 | 
|  StateDetails：*EKS Cluster ID*目前无法访问集群。 failureReason: CLUSTER\$1UNAVAILABLE state: FAILED  |  无法访问 EKS 集群。  | 检查 EKS 集群是否存在并拥有适当的权限。有关更多信息，请参阅 [设置 Amazon EMR on EKS](setting-up.md)。 | 
|  StateDetails：由于内部错误， JobRun 提交失败。 failureReason: INTERNAL\$1ERROR state: FAILED  |  EKS 集群内部出现错误。  | 不适用 | 
|  状态详情：集群*EKS Cluster ID*没有足够的资源。 failureReason: USER\$1ERROR state: FAILED  |  EKS 集群中没有足够的资源来运行任务。  | 向 EKS 节点组添加更多容量或设置 EKS Autoscaler。有关更多信息，请参阅 [Cluster Autoscaler](https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html)。 | 

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


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

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


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

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

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