全部產品
Search
文件中心

E-MapReduce:配置自建RDS

更新時間:May 27, 2025

您可以選擇使用自建RDS MySQL或阿里雲RDS MySQL,作為E-MapReduce(簡稱 EMR)中DataLake叢集、Custom叢集或Hadoop叢集類型的中繼資料存放區服務。

前提條件

已建立RDS MySQL執行個體。

本文以購買阿里雲RDS MySQL執行個體為例,詳情請參見建立RDS MySQL執行個體

注意事項

請確保待建立EMR叢集與已有RDS MySQL執行個體之間的網路互連。

如果您使用的是阿里雲的RDS MySQL執行個體:

  • 同一VPC:

    • EMR叢集與RDS MySQL執行個體預設可以通過私網通訊,但需要在RDS MySQL執行個體中設定白名單,將待建立EMR叢集的VPC的IPv4網段添加到允許訪問的範圍中。

    • 白名單設定完成後,即可實現連通。

  • 不同VPC:

    • 如果EMR叢集與RDS MySQL執行個體位於不同的VPC中,您可以通過VPC對等串連等方式打通網路,詳情請參見使用VPC對等串連實現VPC私網互連

    • 網路打通後,仍需在RDS MySQL執行個體中設定白名單,將待建立EMR叢集的VPC的IPv4網段添加到允許訪問的範圍中。

操作步驟

步驟一:中繼資料庫準備

  1. 建立資料庫,詳情請參見建立資料庫

  2. 建立普通使用者並授權讀寫權限,詳情請參見建立帳號

    說明

    請記錄好建立的帳號和密碼,步驟二:建立叢集會用到。

  3. 擷取資料庫內網地址。

    1. 將待建立EMR叢集的VPC的IPv4網段添加至RDS MySQL的白名單,詳情請參見設定IP白名單

    2. 在執行個體詳細頁面,單擊左側導覽列中的資料庫連接

    3. 資料庫連接頁面,單擊內網地址進行複製。

      說明

      請記錄內網地址,步驟二:建立叢集時會用到。

      image

步驟二:建立叢集

在建立叢集的軟體配置頁面,配置以下參數,其他參數的配置請參見建立叢集

DataLake和Custom叢集參數

Hadoop叢集參數

描述

中繼資料

選擇自建RDS

說明

僅當DataLake和Custom叢集選擇了HDFS(OSS-HDFS)、YARN和Hive服務後,中繼資料參數才可見。

javax.jdo.option.ConnectionURL

RDS連結

填寫格式為jdbc:mysql://rm-xxxxxx.mysql.rds.aliyuncs.com/<資料庫名稱>

javax.jdo.option.ConnectionUserName

RDS使用者名稱

填寫步驟一:中繼資料庫準備中帳號的使用者名稱。

javax.jdo.option.ConnectionPassword

RDS密碼

填寫步驟一:中繼資料庫準備中帳號的密碼。

(可選)步驟三:Metastore初始化

重要
  • 如果您建立的是Hadoop叢集(EMR-3.38.x及之前版本、EMR-4.9.x及之前版本、EMR-5.4.x以及之前版本),或者建立叢集之後需要更換為RDS MySQL資料庫,則需要初始化Metastore。

    在初始化之前,Hive的Hive MetaStore、HiveServer2和Spark的ThriftServer可能會出現異常,待初始化之後會恢複正常。

  • DataLake和Custom叢集在建立過程中會自動根據所提供的資料庫連接參數初始化Hive Meta資料庫,因此無需執行該步驟。

  1. 使用SSH方式登入叢集的Master節點,詳情請參見登入叢集

  2. 執行以下命令,切換為hadoop使用者。

    su - hadoop
  3. 執行以下命令,進行初始化。

    schematool -initSchema -dbType mysql

    待初始化成功後,則可以使用RDS MySQL作為Hive的中繼資料庫。