元数据是用于描述集群中数据存储位置、结构定义和访问权限等的关键信息。EMR支持将元数据存储在DLF、云数据库RDS MySQL和内置MySQL中。本文将为您介绍这三类元数据服务的区别,帮助您快速选型。
元数据服务选型
对比维度 | |||
后端存储 | 阿里云DLF服务 | 云数据库RDS MySQL实例(需购买RDS并配置网络环境) | 集群内MySQL实例 |
适用环境 | 测试环境、生产环境 | 测试环境、生产环境 | 单集群POC测试 说明 不推荐使用,本地MySQL数据库部署在集群单节点中,不能保证服务高可用,有稳定性风险。 |
跨集群共享 | 支持 | 支持 | 不支持 |
引擎兼容性 | 支持Hive、Spark、Presto、MaxCompute和Hologres。 |
|
|
元数据管理 | 可视化元数据检索、元数据管理、多版本管理、数据统计概况和生命周期管理等。 | 无 | 无 |
高可用性 | 主备等容灾措施 | 主备等容灾措施 | 无容灾措施。 |
运维成本 | 免运维,自动水平弹性扩容。 | 需要自行升级和扩容等运维操作,适合需要灵活、精细管理的场景。 | 集群单节点部署,版本升级成本高。 |
费用成本 | 当前免费(0折扣活动阶段),正式计费标准请参见数据湖构建的计费模式。 | RDS实例的基础费用由计算资源费用和存储资源费用组成,具体计费信息请参见云数据库RDS的计费项。 | 无 |
选择元数据服务时,请确认其支持的地域。其中DLF已开通的地域,请参见已开通的地域和访问域名。
元数据服务部署架构图
DLF统一元数据部署架构图
元数据存储在阿里云数据湖构建(Data Lake Formation,简称DLF)中。DLF统一元数据可以在多个集群实现元数据共享,同时DLF Client SDK提供了兼容Hive Metastore的接口,使引擎无需修改即可直接访问DLF元数据,用户也可以通过DLF客户端访问DLF元数据。关于DLF的更多信息请参见产品简介。
单集群部署架构图 | 多集群部署架构图 |
自建RDS部署架构图
元数据存储在RDS MySQL实例中。自建RDS元数据服务支持在多个集群环境中进行元数据共享,分别被不同集群中的Hive Metastore访问。
单集群部署架构图 | 多集群部署架构图 |
内置MySQL部署架构图
元数据存储在MySQL中,且MySQL Server实例部署在用户的EMR集群中(通常是Master节点)。由于每个集群都有一个MySQL,导致多个集群间的元数据不能共享。
内置MySQL登录的用户名为root,密码为EMRroot1234。
单集群部署架构图 | 多集群部署架构图 |