

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

# 對工作階段錯誤進行疑難排解
<a name="notebooks-spark-troubleshooting-sessions"></a>

使用本節中的資訊來對工作階段問題進行疑難排解。

當工作階段啟動期間發生自訂組態錯誤時，Athena for Spark 主控台會顯示錯誤訊息橫幅。若要對工作階段啟動錯誤進行疑難排解，您可以檢查工作階段狀態變更或記錄資訊。

## 檢視工作階段狀態變更資訊
<a name="notebooks-spark-troubleshooting-sessions-viewing-session-state-change"></a>

您可以從 Athena 筆記本編輯器或 Athena API 取得有關工作階段狀態變更的詳細資訊。

**在 Athena 主控台中檢視工作階段狀態資訊**

1. 在 Athena 筆記本編輯器中，從右上角的**工作階段**選單中，選擇**檢視詳細資訊**。

1. 檢視**目前工作階段**索引標籤。**工作階段資訊**區段會顯示工作階段 ID、工作群組、狀態和狀態變更原因等資訊。

   下列螢幕擷取範例會針對 Athena 中的 Spark 工作階段錯誤，顯示**工作階段資訊**對話方塊中**狀態變更原因**區段中的資訊。  
![\[在 Athena for Spark 主控台中檢視工作階段狀態變更資訊。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/notebooks-spark-custom-jar-cfg-1.jpeg)

**使用 Athena API 檢視工作階段狀態資訊**
+ 在 Athena API 中，您可以在 [SessionStatus](https://docs.aws.amazon.com/athena/latest/APIReference/API_SessionStatus.html) 物件的 `StateChangeReason` 欄位中尋找工作階段狀態變更資訊。

**注意**  
手動停止工作階段之後，或者如果工作階段在閒置逾時 (預設值為 20 分鐘) 之後停止，則 **StateChangeReason** 的值會變更為根據請求終止工作階段。

## 使用記錄對工作階段啟動錯誤進行疑難排解
<a name="notebooks-spark-troubleshooting-sessions-using-logging"></a>

[Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 會記錄工作階段開始期間發生的自訂組態錯誤。在 CloudWatch Logs 中，從 `AthenaSparkSessionErrorLogger` 中搜尋錯誤訊息，以便對失敗的工作階段啟動進行疑難排解。

如需有關 Spark 記錄的詳細資訊，請參閱 [記錄 Athena 中的 Spark 應用程式事件](notebooks-spark-logging.md)。

如需有關在 Athena for Spark 中疑難排解工作階段的詳細資訊，請參閱 [對工作階段錯誤進行疑難排解](#notebooks-spark-troubleshooting-sessions)。

## 特定工作階段問題
<a name="notebooks-spark-troubleshooting-sessions-specific-error-messages"></a>

使用本節中的資訊來對一些特定工作階段問題進行疑難排解。

### 工作階段處於狀況不良狀態
<a name="notebooks-spark-troubleshooting-sessions-unhealthy"></a>

如果您收到錯誤訊息 Session in unhealthy state (工作階段處於狀況不良狀態)。請建立新的工作階段，終止現有的工作階段並建立新的工作階段。

### 無法建立與筆記本伺服器的連線
<a name="notebooks-spark-troubleshooting-sessions-wss-blocked"></a>

當您開啟筆記本時，可能會看到下列錯誤訊息：

```
A connection to the notebook server could not be established.  
The notebook will continue trying to reconnect.  
Check your network connection or notebook server configuration.
```

#### 原因
<a name="notebooks-spark-troubleshooting-sessions-wss-blocked-cause"></a>

Athena 開啟筆記本時，Athena 會建立工作階段，並使用預先簽章的筆記本 URL 連線至筆記本。與筆記本的連線會使用 WSS ([WebSocket Secure](https://en.wikipedia.org/wiki/WebSocket)) 通訊協定。

錯誤的發生原因如下：
+ 本機防火牆 (例如，適用於全公司範圍的防火牆) 會封鎖 WSS 流量。
+ 本機電腦上的代理或防毒軟體會封鎖 WSS 連線。

#### 解決方案
<a name="notebooks-spark-troubleshooting-sessions-wss-blocked-solution"></a>

假設您在 `us-east-1` 區域中有一個 WSS 連線，如下所示：

```
wss://94c2bcdf-66f9-4d17-9da6-7e7338060183.analytics-gateway.us-east-1.amazonaws.com/
api/kernels/33c78c82-b8d2-4631-bd22-1565dc6ec152/channels?session_id=
7f96a3a048ab4917b6376895ea8d7535
```

若要解決錯誤，請使用以下其中一種策略。
+ 使用萬用字元模式語法，允許列出`443`跨 AWS 區域 和 連接埠的 WSS 流量 AWS 帳戶。

  ```
  wss://*amazonaws.com
  ```
+ 使用萬用字元模式語法，允許列出 AWS 區域 您指定之 `443` 中連接埠 AWS 區域 上的 AWS 帳戶 WSS 流量。以下範例使用 `us-east-1`。

  ```
  wss://*analytics-gateway.us-east-1.amazonaws.com
  ```