

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

# 設定 CloudWatch 和 Amazon SQS 的一致性通知
<a name="emrfs-configure-sqs-cw"></a>

針對 Amazon S3 最終一致性問題，您可以在 EMRFS 中啟用 CloudWatch 指標和 Amazon SQS 訊息。

**CloudWatch**  
當 CloudWatch 指標啟用時，會在 `FileSystem` API 呼叫因為 Amazon S3 最終一致性而失敗時推送名為**一致性**的指標。

**針對 Amazon S3 最終一致性問題檢視 CloudWatch 指標**

若要在 CloudWatch 主控台中檢視**一致性**指標，請選取 EMRFS 指標，然後選取 **JobFlowId**/**公制名稱**對。例如：`j-162XXXXXXM2CU ListStatus` 和 `j-162XXXXXXM2CU GetFileStatus` 等等。

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在 **Dashboard (儀表板)** 的 **Metrics (指標)** 區段，選擇 **EMRFS**。

1. 在 **Job Flow Metrics (任務流程指標)** 窗格中，選擇一或多個 ** JobFlowId**/**Metric Name (指標名稱)** 對。圖形呈現的指標會顯示在以下視窗中。

**Amazon SQS**  
當啟用 Amazon SQS 通知時，名稱為 `EMRFS-Inconsistency-<jobFlowId>` 的 Amazon SQS 佇列會在 EMRFS 初始化時加以建立。當 `FileSystem` API 呼叫由於 Amazon S3 最終一致性而失敗時，即會將 Amazon SQS 訊息推送至佇列。訊息包含 JobFlowId、API、不一致路徑的清單、堆疊追蹤之類的資訊。您可以使用 Amazon SQS 主控台或使用 EMRFS `read-sqs` 命令來讀取訊息。

**若要管理 Amazon SQS 訊息，確認是否有 Amazon S3 最終一致性問題**

您可以使用 EMRFS CLI 讀取 Amazon SQS 訊息，確認是否有 Amazon S3 最終一致性問題。若要從 EMRFS Amazon SQS 佇列讀取訊息，請鍵入 `read-sqs` 命令，並在主節點的本機檔案系統上指定輸出位置以產生輸出檔案。

您也可以使用 `delete-sqs` 命令來刪除 EMRFS Amazon SQS 佇列。

1. 若要從 Amazon SQS 佇列讀取訊息，請鍵入下列命令。將 *queuename* 取代為您設定的 Amazon SQS 佇列的名稱，並將 */path/filename* 取代為輸出檔案的路徑：

   ```
   emrfs read-sqs --queue-name queuename --output-file /path/filename
   ```

   例如，若要從預設佇列讀取和輸出 Amazon SQS 訊息，請鍵入：

   ```
   emrfs read-sqs --queue-name EMRFS-Inconsistency-j-162XXXXXXM2CU --output-file /path/filename
   ```
**注意**  
您也可以使用 `-q` 和 `-o` 捷徑 (而非 `--queue-name` 和 `--output-file`)。

1. 若要刪除 Amazon SQS 佇列，請鍵入下列命令：

   ```
   emrfs delete-sqs --queue-name queuename
   ```

   例如，若要刪除預設佇列，請輸入：

   ```
   emrfs delete-sqs --queue-name EMRFS-Inconsistency-j-162XXXXXXM2CU
   ```
**注意**  
您也可以使用 `-q` 捷徑 (而非 `--queue-name`)。