配置自建RDS

本文介绍如何配置自建的阿里云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;系列选择高可用版

操作流程

  1. 步骤一:元数据库准备

    准备元数据库信息。

  2. 步骤二:创建集群

    在EMR控制台上创建集群,关联元数据库信息。

  3. (可选)步骤三:Metastore初始化

    重要
    • 如果您创建的是Hadoop集群(EMR-3.38.x及之前版本、EMR-4.9.x及之前版本、EMR-5.4.x以及之前版本),或者创建集群之后需要更换为RDS数据库,则需要初始化Metastore。

    • DataLake和Custom集群在创建过程中会自动根据所提供的数据库连接参数初始化Hive Meta数据库,因此无需执行该步骤。

步骤一:元数据库准备

  1. 创建数据库。

    具体操作,请参见创建数据库中的创建数据库。

  2. 创建普通用户并授权读写权限。

    具体操作,请参见创建账号

    说明

    请记录好创建的账号和密码,步骤二:创建集群会用到。

  3. 获取数据库内网地址。

    1. 设置白名单,详情请参见设置IP白名单

    2. 在实例详细页面,单击左侧导航栏中的数据库连接

    3. 数据库连接页面,单击内网地址进行复制。

      image

      请记录内网地址,步骤二:创建集群时会用到。

步骤二:创建集群

在创建集群的软件配置页面,配置以下参数,其他参数的配置请参见创建集群

DataLake和Custom集群参数

Hadoop集群参数

描述

元数据

选择自建RDS

说明

仅当Custom集群选择了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数据库,则需要初始化Metastore。

  • DataLake和Custom集群在创建过程中会自动根据所提供的数据库连接参数初始化Hive Meta数据库,因此无需执行该步骤。

  1. 使用SSH方式登录集群的Master节点,详情请参见登录集群

  2. 执行以下命令,切换为hadoop用户。

    su - hadoop
  3. 执行以下命令,进行初始化。

    schematool -initSchema -dbType mysql

    待初始化成功后,则可以使用自建的RDS作为Hive的元数据库。

    说明

    在初始化之前,Hive的Hive MetaStore、HiveServer2和Spark的ThriftServer可能会出现异常,待初始化之后会恢复正常。