

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

# 將 Hue 與 Amazon RDS 中的遠端資料庫搭配使用
<a name="hue-rds"></a>

根據預設，Hue 使用者資訊和查詢歷史記錄是儲存在主節點上的本機 MySQL 資料庫中。或者，您可以使用儲存在 Amazon S3 中的組態和 Amazon Relational Database Service(Amazon RDS) 中的 MySQL 資料庫，來建立一或多個啟用 Hue 的叢集。如此一來，您不需讓 Amazon EMR 叢集保持執行狀態，也能夠保留 Hue 所建立的使用者資訊和查詢歷史記錄。建議您使用 Amazon S3 伺服器端加密來儲存組態檔案。

首先建立 Hue 使用的遠端資料庫。

**建立外部 MySQL 資料庫**

1. 前往 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)，開啟 Amazon RDS 主控台。

1. 按一下 **Launch a DB Instance (啟動資料庫執行個體)**。

1. 選擇 MySQL，然後按一下 **Select (選取)**。

1. 保留預設的 **Multi-AZ Deployment and Provisioned IOPS Storage (異地同步備份部署和佈建 IOPS 儲存體)** 選項，然後按一下 **Next (下一步)**。

1. 保留 Instance Specifications (執行個體規格) 的預設值、指定設定，然後按一下 **Next (下一步)**。

1. 在 Configure Advanced Settings (配置進階設定) 頁面上，選擇適當的安全群組和資料庫名稱。您使用的安全群組至少須允許來自叢集主節點經由連接埠 3306 傳入的 TCP 存取。如果您此時尚未建立您的叢集，可以允許所有主機連線至連接埠 3306，並且在您啟動叢集後調整安全群組。按一下 **Launch DB Instance (啟動資料庫執行個體)**。

1. 從 RDS 儀表板選擇 **Instances (執行個體)**，然後選取您剛才建立的執行個體。當您的資料庫可使用時，請記下資料庫名稱、使用者名稱、密碼和 RDS 執行個體主機名稱。當您建立和設定叢集時，會使用這些資訊。

**使用 啟動叢集時為 Hue 指定外部 MySQL 資料庫 AWS CLI**

若要在使用 啟動叢集時為 Hue 指定外部 MySQL 資料庫 AWS CLI，請使用您在建立 RDS 執行個體以`hue.ini`組態物件設定 時記下的資訊
**注意**  
您可以建立多個使用相同外部資料庫的叢集，但每個叢集將會共用查詢歷史記錄和使用者資訊。
+ 使用 AWS CLI建立已安裝 Hue 的叢集、使用您建立的外部資料庫，以及參考具有指定資料庫屬性之 Hue 組態分類的組態檔案。下列範例會建立已安裝 Hue 的叢集，參考 Amazon S3 中的組態檔案 `myConfig.json`，此檔案會指定資料庫組態。
**注意**  
包含 Linux 行接續字元 (\$1) 是為了提高可讀性。它們可以在 Linux 命令中移除或使用。對於 Windows，請將其移除或取代為插入符號 (^)。

  ```
  aws emr create-cluster --release-label emr-7.12.0 --applications Name=Hue Name=Spark Name=Hive \
  --instance-type m5.xlarge --instance-count 3 \
  --configurations https://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.json --use-default-roles
  ```

  `myConfig.json` 檔案的範例內容如下所示。用您先前在 RDS 儀表板中記下的值，來取代 *dbname (資料庫名稱)*、*username (使用者名稱)*、*password (密碼)* 和 *RDS instance hostname (RDS 執行個體主機名稱)* 的值。

  ```
  [{
    "Classification": "hue-ini",
    "Properties": {},
    "Configurations": [
      {
        "Classification": "desktop",
        "Properties": {},
        "Configurations": [
          {
            "Classification": "database",
            "Properties": {
              "name": "dbname",
              "user": "username",
              "password": "password",
              "host": "RDS instance hostname",
              "port": "3306",
              "engine": "mysql"
            },
            "Configurations": []
          }
        ]
      }
    ]
  }]
  ```

## 疑難排解
<a name="hue-rds-troubleshoot"></a>

**發生 Amazon RDS 容錯移轉時**  
使用者執行查詢時，可能會遇到因為 Hue 資料庫執行個體無回應或正在進行容錯移轉而延遲的情形。以下說明有關此問題的一些資料和準則：
+ 如果您登入 Amazon RDS 主控台，則可搜尋容錯移轉事件。例如，查看容錯移轉正在進行或已發生過，尋找像是「異地同步備份執行個體容錯移轉已啟動」和「異地同步備份執行個體容錯移轉已完成」這類事件。
+ RDS 執行個體大約需要 30 秒來完成容錯移轉。
+ 如果您遇到 Hue 中的查詢回應時間異常久的情況，請嘗試重新執行查詢。