

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

# 執行作業時的常見錯誤
<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-]\$1):iam::(\$1d\$112\$1)?:(role((\$1u002F)\$1(\$1u002F[\$1u0021-\$1u007F]\$1\$1u002F))[\$1w\$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)：User: *ARN* is not authorized to perform: emr-containers:StartJobRun on resource: *ARN* with an explicit deny。 呼叫 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 提交失敗。 不支援 *classification* 分類。 失敗原因：VALIDATION\$1ERROR 狀態：FAILED。  | StartJobRun 中的參數無效。 | 請參閱 [Amazon EMR on EKS 發行版本](emr-eks-releases.md)。 | 
|  狀態詳細資訊：叢集 *EKS Cluster ID* 不存在。 失敗原因：CLUSTER\$1UNAVAILABLE 狀態：FAILED  | EKS 叢集無法使用。 | 檢查 EKS 叢集是否存在並具有正確的許可。如需詳細資訊，請參閱[設定 Amazon EMR on EKS](setting-up.md)。 | 
|  狀態詳細資訊：叢集 *EKS Cluster ID* 沒有足夠的許可。 失敗原因：CLUSTER\$1UNAVAILABLE 狀態：FAILED  |  Amazon EMR 沒有存取 EKS 叢集的許可。  | 確認已在註冊的命名空間中為 Amazon EMR 設定許可。如需詳細資訊，請參閱[設定 Amazon EMR on EKS](setting-up.md)。 | 
|  狀態詳細資訊：叢集 *EKS Cluster ID* 目前無法連線。 失敗原因：CLUSTER\$1UNAVAILABLE 狀態：FAILED  |  無法連線到 EKS 叢集。  | 檢查 EKS 叢集是否存在並具有正確的許可。如需詳細資訊，請參閱[設定 Amazon EMR on EKS](setting-up.md)。 | 
|  狀態詳細資訊：由於內部錯誤，JobRun 提交失敗。 失敗原因：INTERNAL\$1ERROR 狀態：FAILED  |  EKS 叢集發生內部錯誤。  | N/A | 
|  狀態詳細資訊：叢集 *EKS Cluster ID* 沒有足夠的資源。 失敗原因：USER\$1ERROR 狀態：FAILED  |  EKS 叢集中的資源不足，無法執行作業。  | 為 EKS 節點群組新增更多容量，或設定 EKS Autoscaler。如需詳細資訊，請參閱 [Cluster Autoscaler](https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html)。 | 

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


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

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


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

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

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