元数据连接是火山引擎 E-MapReduce(EMR)配置中心的一个模块,用来维护外置数据库(例如位于 EMR 集群外部的、托管于火山引擎 RDS 中的 Hive / Ranger / Airflow / DolphinScheduler 元数据库)连接信息的配置,如 RDS 实例名,以及数据库的库名、用户名、密码等。
通过配置中心管理元数据连接,可以复用已配置的数据库连接,并对数据库连接配置进行统一管理。
您可以通过以下两种方式创建元数据连接,分别是:
从配置中心的页面创建元数据连接。步骤如下:
登录 EMR 控制台。
通过 EMR 页面左侧导航栏,单击配置中心 > 元数据连接入口,进入元数据连接页面,展示已创建的元数据连接列表。
单击页面右上角的创建连接按钮,进入创建配置。
创建集群时创建元数据连接。步骤如下:
进入创建集群页面,在软件配置 > 元数据选择项(如有),在待绑定元数据连接的服务组件所在行中,选择数据连接类型为外置数据库。 详见创建集群。
单击该行右侧的创建连接按钮,进入创建配置。
使用上述两种方式中的任意一种方式,页面都将弹出创建元数据连接对话框。您可以在该对话框中填写相关信息,创建元数据连接。具体配置项说明如下:
配置项 | 说明 |
---|---|
连接名称 | 输入元数据连接名称信息。 |
描述 | 元数据连接的描述,方便后续管理。 |
RDS 实例 ID | 通过下拉方式选择当前登录用户已有的 RDS 实例 ID。 注意 支持搜索 RDS 实例,数据库 RDS 实例与 EMR 集群必须部署在同一 VPC 内,保证网络互通。如需创建新的 RDS 实例,您可前往控制台创建RDS实例。 |
数据库名称 |
|
数据库用户名 | 数据库的用户名。 |
数据库密码 | 数据库的密码。 |
填写完成相关信息并确认无误后,进行以下操作:
在元数据连接的列表页中,可以对连接列表进行以下管理:
搜索元数据连接:在元数据连接页面标题栏右侧的搜索框可以通过连接名称或连接 ID 搜索需要的元数据连接。
查看元数据连接关联的集群(如有):在元数据连接对应行的操作列中,单击关联集群,可以查看该元数据连接关联的集群信息。
编辑元数据连接:在元数据连接对应行的操作列中,单击编辑按钮,可以编辑未关联集群、集群模版的元数据连接。
删除元数据连接:在元数据连接对应行的操作列中,单击删除按钮,可以删除未关联集群、集群模版的元数据连接。
查看元数据连接详情:在元数据连接对应行,单击具体的连接名称信息,可以直接查看该元数据连接的详情信息。
您需要配置有 EMRFullAccess 访问策略,方可访问配置中心。
如果元数据连接被用于 Airflow 或 DolphinScheduler 的外置数据库,需要将该元数据连接的数据库名称配置为 随机生成;如果元数据连接被用于 Hive 或 Ranger 的外置数据库,需要将该元数据连接的数据库名称指定为一个在配置的 RDS 实例中已存在的数据库名称。
元数据连接不能跨服务组件复用,即:如果某个元数据连接已被某个集群用于某个类型服务组件(例如 Hive),则该元数据连接不能被用于任何集群的其他类型的服务组件(例如 Ranger)。
针对某一个服务组件(例如 Hive),元数据连接是否可被多个集群复用?
注意
复用同一个元数据连接的 Hive,其大版本号需要一致(如果某个元数据连接当前或在历史上曾被一个集群的 Hive 使用,无论这个集群是否被释放,该元数据连接都不能被其他集群不同大版本号的 Hive 使用,但可以被其他集群的相同大版本号的 Hive 使用。
注意
针对创建时由用户指定数据库名称的元数据连接,如果两个不同的元数据连接所配置的 RDS 实例和库名是相同的,被使用在了两个不同的集群的相同服务上,那么其实际效果与这两个集群的这一个服务共用同一个元数据连接是一样的。如果这两个集群(无论是否已释放)的 Ranger 使用同一个元数据库(无论是否是同一个元数据连接),或者大版本号不同的 Hive 使用同一个元数据库(无论是否是同一个元数据连接),可能会出现异常。
3.同一个元数据库不可以被多个集群的 Airflow / DolphinScheduler 复用。但同一个元数据连接可以被多个集群的 Airflow / DolphinScheduler 复用,因为 Airflow / DolphinScheduler 的元数据连接中配置的库名是随机生成的,且是在使用该元数据连接创建集群的时候随机生成并建库的(并不是在创建元数据连接的时候),所以多个集群的 Airflow / DolphinScheduler 对应的元数据连接即使是同一个(这些集群各自的 Airflow / DolphinScheduler 元数据库会在同一个 RDS 实例下且具有相同的访问用户名和密码),但却是各不相同的数据库,符合“同一个元数据库不可以被多个集群的 Airflow / DolphinScheduler 复用”的要求。
对于您指定已有数据库的元数据连接,元数据连接中配置的数据库用户需要拥有该数据库的读、写权限。