选择合适的集群是E-MapReduce产品使用的第一步。E-MapReduce配置选型不仅要考虑企业大数据使用场景、估算数据量、服务可靠性要求,还应该考虑企业预算。
大数据使用场景
E-MapReduce各集群的场景和核心组件如下表。
具体各集群类型支持的组件以控制台实际展示为准。
集群类型 | 场景介绍 | 核心组件 |
DataLake | 云原生数据湖场景,提供Hive和Spark计算引擎,适用于数据湖场景和离线数据分析等情况,支持多种数据湖格式如DeltaLake、Hudi和Iceberg。 | HDFS、YARN、Hive、Spark、Presto、Impala、JindoData、DeltaLake、Hudi、Iceberg、OpenLDAP、Knox、Kyuubi等 |
Dataflow | 实时数据流场景,其中核心组件Flink是阿里云提供的基于Apache Flink和E-MapReduce Hadoop构建的企业级大数据计算平台。 Kafka提供一套完整的服务监控体系和元数据管理。广泛用于日志收集和监控数据聚合等场景,支持离线或流式数据处理以及实时数据分析等。 | Flink 、Kafka、YARN |
OLAP | 数据分析场景,其中核心组件ClickHouse是一个面向联机分析处理(OLAP)的开源的面向列式存储的DBMS,与Hadoop和Spark相比,ClickHouse更轻量级。ClickHouse支持线性扩展,简单方便,具有高可靠性和高容错。 StarRocks是开源MPP(Massively Parallel Processing)架构的OLAP分析引擎,支持亚秒级的数据查询和多表JOIN功能。 | ClickHouse、StarRocks、Zookeeper |
DataServing | 数据服务场景,提供更灵活、可靠、高效的数据服务集群。提供HBase服务,同时可以基于OSS-HDFS(JindoFS服务)解耦计算集群与数据存储。支持JindoData本地缓存以进一步提高数据服务集群的读写性能。 | HBase、Zookeeper、JindoData |
E-MapReduce节点
E-MapReduce节点有主实例(Master)、核心实例(Core)和计算实例(Task)三种实例类型。详情请参见实例类型。
E-MapReduce存储可以采用高效云盘、本地盘、SSD云盘和SSD本地盘。磁盘性能为SSD本地盘 > SSD云盘 > 本地盘 > 高效云盘。
E-MapReduce底层存储支持OSS(仅标准型OSS)和HDFS。相对于HDFS,OSS的数据可用性更高(99.99999999%),HDFS的数据可用性由云盘或本地盘存储的可靠性来保证。归档数据和深度归档数据需要解冻为标准型存储才能参与EMR引擎计算。
存储价格估算如下:
本地盘实例存储为0.003 $/GB/月
OSS标准型存储为0.02 $/GB/月
OSS归档型存储为0.045 $/GB/月
OSS深度归档型存储为0.002 $/GB/月
高效云盘存储为0.05 $/GB/月
SSD云盘存储为0.143 $/GB/月
云盘的具体价格信息,请参见云服务器ECS产品详情页。
E-MapReduce选型
Master节点选型
Master节点主要部署Hadoop的Master进程。例如,NameNode和ResourceManager等。
生产集群建议打开高可用HA,E-MapReduce的HDFS、YARN、Hive和HBase等组件均已实现HA。生产集群建议在创建集群时开启高可用。如果创建集群时未开启高可用,则在后续使用过程中无法开启高可用功能。
Master节点主要用来存储HDFS元数据和组件Log文件,属于计算密集型,对磁盘IO要求不高。HDFS元数据存储在内存中,建议根据文件数量选择16 GB以上内存空间。
Core节点选型
Core节点和Task节点的区别在于,Core节点会同时运行DataNode和Nodemanager。即便如此,还是建议您存储数据到OSS或者OSS-HDFS上,集群中的HDFS仅作为YARN任务分发的临时存储空间使用。您可以使用通用机型配合ECS云盘的方式来作为Core节点的机型配置。例如,g7.4xlarge + 4 * 100 GiB。
Task节点选型
Task节点主要用来补充Core节点CPU和内存计算能力的不足,节点并不存储数据,也不运行DataNode。您可以根据CPU和内存需求来估算实例个数。
E-MapReduce生命周期
E-MapReduce支持弹性扩展,可以快速的扩容,灵活调整集群节点配置,或者升配ECS节点。
可用区选择
为保证效率,您应该部署E-MapReduce与业务系统在同一地域的同一个可用区。