本文介绍如何配置自建的阿里云RDS,作为E-MapReduce(简称EMR)上DataLake集群、Custom集群或Hadoop集群的元数据。
前提条件
已购买RDS MySQL实例(EMR所有版本均支持MySQL 5.7,仅EMR-3.35.0以上版本、EMR-5.0.0以上版本同时支持MySQL 5.7和8.0版本),详情请参见创建RDS MySQL实例。
本文以MySQL 5.7版本为例介绍。
使用限制
创建RDS MySQL实例时,数据库类型选择MySQL,版本选择5.7;系列选择高可用版。
操作流程
准备元数据库信息。
在EMR控制台上创建集群,关联元数据库信息。
- 重要
如果您创建的是Hadoop集群(EMR-3.38.x及之前版本、EMR-4.9.x及之前版本、EMR-5.4.x以及之前版本),或者创建集群之后需要更换为RDS数据库,则需要初始化Metastore。
DataLake和Custom集群在创建过程中会自动根据所提供的数据库连接参数初始化Hive Meta数据库,因此无需执行该步骤。
步骤一:元数据库准备
步骤二:创建集群
在创建集群的软件配置页面,配置以下参数,其他参数的配置请参见创建集群。
DataLake和Custom集群参数 | Hadoop集群参数 | 描述 | |
元数据 | 选择自建RDS。 说明 仅当Custom集群选择了HDFS、YARN和Hive服务后,元数据参数才可见。 | ||
javax.jdo.option.ConnectionURL | RDS链接 | 填写格式为
| |
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数据库,则需要初始化Metastore。
DataLake和Custom集群在创建过程中会自动根据所提供的数据库连接参数初始化Hive Meta数据库,因此无需执行该步骤。
使用SSH方式登录集群的Master节点,详情请参见登录集群。
执行以下命令,切换为hadoop用户。
su - hadoop
执行以下命令,进行初始化。
schematool -initSchema -dbType mysql
待初始化成功后,则可以使用自建的RDS作为Hive的元数据库。
说明在初始化之前,Hive的Hive MetaStore、HiveServer2和Spark的ThriftServer可能会出现异常,待初始化之后会恢复正常。