配置自建RDS

您可以选择使用自建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集群的VPCIPv4网段添加到允许访问的范围中。

    • 白名单设置完成后,即可实现连通。

  • 不同VPC:

    • 如果EMR集群与RDS MySQL实例位于不同的VPC中,您可以通过VPC对等连接等方式打通网络,详情请参见使用VPC对等连接实现VPC私网互通

    • 网络打通后,仍需在RDS MySQL实例中设置白名单,将待创建EMR集群的VPCIPv4网段添加到允许访问的范围中。

操作步骤

步骤一:元数据库准备

  1. 创建数据库,详情请参见创建数据库

  2. 创建普通用户并授权读写权限,详情请参见创建账号

    说明

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

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

    1. 将待创建EMR集群的VPCIPv4网段添加至RDS MySQL的白名单,详情请参见设置IP白名单

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

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

      说明

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

      image

步骤二:创建集群

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

DataLakeCustom集群参数

Hadoop集群参数

描述

元数据

选择自建RDS

说明

仅当DataLakeCustom集群选择了HDFS(OSS-HDFS)、YARNHive服务后,元数据参数才可见。

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。

    在初始化之前,HiveHive MetaStore、HiveServer2SparkThriftServer可能会出现异常,待初始化之后会恢复正常。

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

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

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

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

    schematool -initSchema -dbType mysql

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