

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 執行作業時的常見錯誤
<a name="emr-eks-jobs-error"></a>

執行 `StartJobRun` API 時，可能會發生下列錯誤。資料表會列出每個錯誤並提供緩解步驟，讓您可以快速解決問題。


| 錯誤訊息 | 錯誤情況 | 建議的後續步驟 | 
| --- | --- | --- | 
| error: argument --{{argument}} is required | 缺少必要參數。 | 將缺少的引數新增到 API 請求。 | 
| 呼叫 StartJobRun 操作時發生錯誤 (AccessDeniedException)：User: {{ARN}} is not authorized to perform: emr-containers:StartJobRun | 缺少執行角色。 | 請參閱「使用 [搭配使用作業執行角色與 Amazon EMR on EKS](iam-execution-role.md)」。 | 
| 呼叫 StartJobRun 操作時發生錯誤 (AccessDeniedException)：User: {{ARN}} is not authorized to perform: emr-containers:StartJobRun | 呼叫者沒有透過條件金鑰存取執行角色的許可 [有效/無效格式]。 | 請參閱 [搭配使用作業執行角色與 Amazon EMR on EKS](iam-execution-role.md)。 | 
| 呼叫 StartJobRun 操作時發生錯誤 (AccessDeniedException)：User: {{ARN}} is not authorized to perform: emr-containers:StartJobRun | 作業提交者和執行角色 ARN 來自不同的帳戶。 | 確定作業提交者和執行角色 ARN 來自相同的 AWS 帳戶。 | 
| 偵測到 1 個驗證錯誤：'executionRoleArn' 的{{角色}}值無法滿足 ARN 規則表達式模式：^arn:(aws[a-zA-Z0-9-]\*):iam::(\\d{12})?:(role((\\u002F)\|(\\u002F[\\u0021-\\u007F]\+\\u002F))[\\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)：User: {{ARN}} is not authorized to perform: emr-containers:StartJobRun on resource: {{ARN}} with an explicit deny。<br />呼叫 StartJobRun 操作時發生錯誤 (AccessDeniedException)：User: {{ARN}} is not authorized to perform: emr-containers:StartJobRun on resource: {{ARN}} | 未授權使用者呼叫 StartJobRun。 | 請參閱 [搭配使用作業執行角色與 Amazon EMR on EKS](iam-execution-role.md)。 | 
| 呼叫 StartJobRun 操作時發生錯誤 (ValidationException)：configurationOverrides.monitoringConfiguration.s3MonitoringConfiguration.logUri failed to satisfy constraint : %s | S3 路徑 URI 語法無效。 | logUri 應採用 s3://... 的格式  | 

在作業執行之前執行 `DescribeJobRun` API 時，可能會發生下列錯誤。


| 錯誤訊息 | 錯誤情況 | 建議的後續步驟 | 
| --- | --- | --- | 
| 狀態詳細資訊：JobRun 提交失敗。<br />不支援 {{classification}} 分類。<br />失敗原因：VALIDATION\_ERROR<br />狀態：FAILED。 | StartJobRun 中的參數無效。 | 請參閱 [Amazon EMR on EKS 發行版本](emr-eks-releases.md)。 | 
| 狀態詳細資訊：叢集 {{EKS Cluster ID}} 不存在。<br />失敗原因：CLUSTER\_UNAVAILABLE<br />狀態：FAILED | EKS 叢集無法使用。 | 檢查 EKS 叢集是否存在並具有正確的許可。如需詳細資訊，請參閱[設定 Amazon EMR on EKS](setting-up.md)。 | 
| 狀態詳細資訊：叢集 {{EKS Cluster ID}} 沒有足夠的許可。<br />失敗原因：CLUSTER\_UNAVAILABLE<br />狀態：FAILED | Amazon EMR 沒有存取 EKS 叢集的許可。 | 確認已在註冊的命名空間中為 Amazon EMR 設定許可。如需詳細資訊，請參閱[設定 Amazon EMR on EKS](setting-up.md)。 | 
| 狀態詳細資訊：叢集 {{EKS Cluster ID}} 目前無法連線。<br />失敗原因：CLUSTER\_UNAVAILABLE<br />狀態：FAILED | 無法連線到 EKS 叢集。 | 檢查 EKS 叢集是否存在並具有正確的許可。如需詳細資訊，請參閱[設定 Amazon EMR on EKS](setting-up.md)。 | 
| 狀態詳細資訊：由於內部錯誤，JobRun 提交失敗。<br />失敗原因：INTERNAL\_ERROR<br />狀態：FAILED | EKS 叢集發生內部錯誤。 | N/A | 
| 狀態詳細資訊：叢集 {{EKS Cluster ID}} 沒有足夠的資源。<br />失敗原因：USER\_ERROR<br />狀態：FAILED | EKS 叢集中的資源不足，無法執行作業。 | 為 EKS 節點群組新增更多容量，或設定 EKS Autoscaler。如需詳細資訊，請參閱 [Cluster Autoscaler](https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html)。 | 

在作業執行之後執行 `DescribeJobRun` API 時，可能會發生下列錯誤。


| 錯誤訊息 | 錯誤情況 | 建議的後續步驟 | 
| --- | --- | --- | 
| 狀態詳細資訊：監控 JobRun 時出現問題。<br />叢集 {{EKS Cluster ID}} 不存在。<br />失敗原因：CLUSTER\_UNAVAILABLE<br />狀態：FAILED | EKS 叢集不存在。 | 檢查 EKS 叢集是否存在並具有正確的許可。如需詳細資訊，請參閱[設定 Amazon EMR on EKS](setting-up.md)。 | 
| 狀態詳細資訊：監控 JobRun 時出現問題。<br />叢集 {{EKS Cluster ID}} 沒有足夠的許可。<br />失敗原因：CLUSTER\_UNAVAILABLE<br />狀態：FAILED | Amazon EMR 沒有存取 EKS 叢集的許可。 | 確認已在註冊的命名空間中為 Amazon EMR 設定許可。如需詳細資訊，請參閱[設定 Amazon EMR on EKS](setting-up.md)。 | 
| 狀態詳細資訊：監控 JobRun 時出現問題。<br />叢集 {{EKS Cluster ID}} 目前無法連線。<br />失敗原因：CLUSTER\_UNAVAILABLE<br />狀態：FAILED | 無法連線到 EKS 叢集。 | 檢查 EKS 叢集是否存在並具有正確的許可。如需詳細資訊，請參閱[設定 Amazon EMR on EKS](setting-up.md)。 | 
| 狀態詳細資訊：由於內部錯誤，無法監控 JobRun<br />失敗原因：INTERNAL\_ERROR<br />狀態：FAILED | 發生內部錯誤，正在阻止 JobRun 監控。 | N/A | 

當作業無法啟動且作業處於 SUBMITTED 狀態 15 分鐘時，可能會發生下列錯誤。這可能是由於缺少叢集資源所致。


| 錯誤訊息 | 錯誤情況 | 建議的後續步驟 | 
| --- | --- | --- | 
| 叢集逾時 | 作業已處於 SUBMITTED 狀態 15 分鐘或更長時間。 | 可以使用如下所示的組態來覆寫此參數的 15 分鐘預設設定。 | 

使用下列組態將叢集逾時設定變更為 30 分鐘。請注意，提供的新 `job-start-timeout` 值的單位應為秒：

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