本文介紹如何配置自建的阿里云RDS,作為E-MapReduce(簡稱EMR)上DataLake集群、Custom集群或Hadoop集群的元數(shù)據(jù)。
前提條件
已購買RDS MySQL實例(EMR所有版本均支持MySQL 5.7,僅EMR-3.35.0以上版本、EMR-5.0.0以上版本同時支持MySQL 5.7和8.0版本),詳情請參見創(chuàng)建RDS MySQL實例。
本文以MySQL 5.7版本為例介紹。
使用限制
創(chuàng)建RDS MySQL實例時,數(shù)據(jù)庫類型選擇MySQL,版本選擇5.7;系列選擇高可用版。
操作流程
準備元數(shù)據(jù)庫信息。
在EMR控制臺上創(chuàng)建集群,關聯(lián)元數(shù)據(jù)庫信息。
- 重要
如果您創(chuàng)建的是Hadoop集群(EMR-3.38.x及之前版本、EMR-4.9.x及之前版本、EMR-5.4.x以及之前版本),或者創(chuàng)建集群之后需要更換為RDS數(shù)據(jù)庫,則需要初始化Metastore。
DataLake和Custom集群在創(chuàng)建過程中會自動根據(jù)所提供的數(shù)據(jù)庫連接參數(shù)初始化Hive Meta數(shù)據(jù)庫,因此無需執(zhí)行該步驟。
步驟一:元數(shù)據(jù)庫準備
創(chuàng)建數(shù)據(jù)庫。
具體操作,請參見創(chuàng)建數(shù)據(jù)庫中的創(chuàng)建數(shù)據(jù)庫。
創(chuàng)建普通用戶并授權讀寫權限。
具體操作,請參見創(chuàng)建賬號。
說明請記錄好創(chuàng)建的賬號和密碼,步驟二:創(chuàng)建集群會用到。
獲取數(shù)據(jù)庫內網(wǎng)地址。
設置白名單,詳情請參見設置IP白名單。
在實例詳細頁面,單擊左側導航欄中的數(shù)據(jù)庫連接。
在數(shù)據(jù)庫連接頁面,單擊內網(wǎng)地址進行復制。
請記錄內網(wǎng)地址,步驟二:創(chuàng)建集群時會用到。
步驟二:創(chuàng)建集群
在創(chuàng)建集群的軟件配置頁面,配置以下參數(shù),其他參數(shù)的配置請參見創(chuàng)建集群。
DataLake和Custom集群參數(shù) | Hadoop集群參數(shù) | 描述 | |
元數(shù)據(jù) | 選擇自建RDS。 說明 僅當Custom集群選擇了HDFS、YARN和Hive服務后,元數(shù)據(jù)參數(shù)才可見。 | ||
javax.jdo.option.ConnectionURL | RDS鏈接 | 填寫格式為
| |
javax.jdo.option.ConnectionUserName | RDS用戶名 | 填寫步驟一:元數(shù)據(jù)庫準備中賬號的用戶名。 | |
javax.jdo.option.ConnectionPassword | RDS密碼 | 填寫步驟一:元數(shù)據(jù)庫準備中賬號的密碼。 |
(可選)步驟三:Metastore初始化
如果您創(chuàng)建的是Hadoop集群(EMR-3.38.x及之前版本、EMR-4.9.x及之前版本、EMR-5.4.x以及之前版本),或者創(chuàng)建集群之后需要更換為RDS數(shù)據(jù)庫,則需要初始化Metastore。
DataLake和Custom集群在創(chuàng)建過程中會自動根據(jù)所提供的數(shù)據(jù)庫連接參數(shù)初始化Hive Meta數(shù)據(jù)庫,因此無需執(zhí)行該步驟。
使用SSH方式登錄集群的Master節(jié)點,詳情請參見登錄集群。
執(zhí)行以下命令,切換為hadoop用戶。
su - hadoop
執(zhí)行以下命令,進行初始化。
schematool -initSchema -dbType mysql
待初始化成功后,則可以使用自建的RDS作為Hive的元數(shù)據(jù)庫。
說明在初始化之前,Hive的Hive MetaStore、HiveServer2和Spark的ThriftServer可能會出現(xiàn)異常,待初始化之后會恢復正常。