在创建阿里云EMR集群时,合理的硬件配置和网络环境设计是确保集群性能、成本及可靠性的关键因素。本文将详细介绍如何根据大数据处理的需求,进行服务高可用选型、节点规格选择和网络配置方案设计。
服务高可用选型
根据业务场景与实际需求,您可以选择是否开启服务高可用功能。当开启服务高可用后,集群将采用多主节点模式,通过分布式与故障切换机制,消除单点故障风险,保障服务的连续性。
|
对比维度 |
单主节点集群 |
多主节点集群 |
|
适用场景 |
|
|
|
核心特性 |
单节点架构,部署简单,但存在单点故障风险。 |
|
|
故障恢复 |
无自动恢复:需人工介入排查并重启。 |
自动故障恢复:EMR服务会自动替换发生故障的主节点,并配置与原节点相同的环境和引导操作。 |
|
成本 |
成本低:只需配置1个主节点。 |
成本较高:需要配置3个主节点,通过分布式系统的共识算法实现多数派决策机制,满足开源组件(如ZooKeeper、HDFS)的数据强一致性要求,可容忍单节点故障并避免脑裂。 |
节点规格选型
集群配置流程如下:
-
确定业务场景:根据业务场景,完成相应的选型(例如:数据湖、数据分析、实时数据流、数据服务还是自定义集群的场景)。
-
选择存储架构:根据业务数据特性,确定选择存算一体(HDFS)还是存算分离(OSS-HDFS/OSS)架构。
-
配置节点规格与磁盘大小:
数据湖场景
存算一体(HDFS)
|
节点类型 |
推荐规格 |
|
Master 负责管理集群和协调任务。 部署服务:NameNode、ResourceManager、HiveServer、HiveMetastore、SparkHistoryServer。 |
|
|
Core 提供计算能力和存储资源。 部署服务:DataNode、NodeManager。 |
Core节点实例规格与业务类型以及资源需求等因素有关。
|
|
Task 仅提供计算能力,不存储数据,主要用于补充Core节点在CPU和内存需求的不足。 部署服务:NodeManager。 |
峰谷场景建议:
|
存算分离(OSS-HDFS/OSS)
|
节点类型 |
推荐规格 |
|
Master 负责管理集群和协调任务。 部署服务:ResourceManager、HiveServer、HiveMetastore、SparkHistoryServer。 |
|
|
Core 功能与Task节点相似,不存储数据。 部署服务:NodeManager。 |
Core节点不支持弹性伸缩能力,推荐仅使用Task节点的方案,不需要配置Core节点。 |
|
Task 提供计算能力。 部署服务:NodeManager。 |
|
数据分析场景
存算一体
|
节点类型 |
推荐规格 |
|
Master 负责管理集群和协调任务。 部署服务:StarRocks FE、Doris FE、Zookeeper。 |
|
|
Core 提供计算能力和存储资源。 部署服务:StarRocks BE、Doris BE、ClickhouseKeeper、ClickhouseServer。 |
Core节点实例规格与业务计算需求以及数据存储量等因素有关。
|
|
Task 提供计算能力。 部署服务:StarRocks CN。 |
仅StarRocks Compute Node支持在Task节点部署,如果您没有使用StarRocks组件,则不需要使用Task节点。 峰谷场景建议:
|
存算分离
仅StarRocks 3.x版本支持存算分离。
|
节点类型 |
推荐规格 |
|
Master 负责管理集群和协调任务。 部署服务:StarRocks FE、Zookeeper。 |
|
|
Task 提供计算能力。 部署服务:StarRocks CN。 |
StarRocks存算分离架构下没有Core节点,仅需使用Task节点。
实例规格根据实际业务计算需求评估,一般选择≥16核64 GiB。节点数量根据业务需求弹性伸缩。 |
实时数据流场景
存算一体(HDFS)
|
节点类型 |
推荐规格 |
|
Master 负责管理集群和协调任务。 部署服务:NameNode、ResourceManager、FlinkHistoryServer、Zookeeper。 |
|
|
Core 提供计算能力和存储资源。 部署服务:DataNode、NodeManager。 |
Core节点实例规格与业务类型以及资源需求等因素有关。
|
|
Task 仅提供计算能力,不存储数据,主要用于补充Core节点在CPU和内存需求的不足。 部署服务:NodeManager。 |
峰谷场景建议:
|
存算分离(OSS-HDFS/OSS)
|
节点类型 |
推荐规格 |
|
Master 负责管理集群和协调任务。 部署服务:ResourceManager、FlinkHistoryServer、Zookeeper。 |
|
|
Core 功能与Task节点相似,不存储数据。 部署服务:NodeManager。 |
Core节点不支持弹性伸缩能力,推荐仅使用Task节点的方案,不需要配置Core节点。 |
|
Task 提供计算能力。 部署服务:NodeManager。 |
|
数据服务场景
存算一体(HDFS)
|
节点类型 |
推荐规格 |
|
Master 负责管理集群和协调任务。 部署服务:NameNode、HMaster、Zookeeper。 |
|
|
Core 提供计算能力和存储资源。 部署服务:DataNode、HRegionServer。 |
Core节点实例规格与业务请求量以及存储量等因素有关。
|
|
Task 仅提供计算能力,不存储数据,主要用于补充Core节点在CPU和内存需求的不足。 部署服务:HRegionServer。 |
在数据服务场景中,由于数据存储在Core节点,为保证数据本地性,通常不推荐使用Task节点。 |
存算分离(OSS-HDFS/OSS)
|
节点类型 |
推荐规格 |
|
Master 负责管理集群和协调任务。 部署服务:NameNode、HMaster、Zookeeper。 |
|
|
Core 提供计算能力和存储资源。 部署服务:DataNode、HRegionServer。 |
使用OSS-HDFS/OSS存储HBase HLog对写入性能有较大影响,推荐将HBase HLog保存在HDFS上。 Core节点实例规格与业务请求量等因素有关,推荐通用型实例,磁盘空间 ≥ 500 GiB。
|
|
Task 提供计算能力。 部署服务:HRegionServer。 |
峰谷场景建议:
|
自定义集群场景
当您的业务涉及离线ETL、实时ETL、复杂聚合分析及高并发查询服务等多场景混合时:
-
推荐采用多类型集群组合方案:通过独立部署不同特性的集群(如离线批处理集群、实时流处理集群、分析型集群及查询加速集群),实现资源隔离与场景适配,保障各类任务的性能与稳定性。
-
如果业务规模较小且场景间资源需求无冲突,可以选择自定义集群:通过灵活配置降低部署复杂度并提升资源利用率。
存算一体(HDFS)
|
节点类型 |
推荐规格 |
|
Master 负责管理集群和协调任务。 |
|
|
Core 提供计算能力和存储资源。 |
Core节点实例规格与业务类型以及资源需求等因素有关。
|
|
Task 仅提供计算能力,不存储数据,主要用于补充Core节点在CPU和内存需求的不足。 |
峰谷场景建议:
|
存算分离(OSS-HDFS/OSS)
|
节点类型 |
推荐规格 |
|
Master 负责管理集群和协调任务。 |
小型集群(≤ 8台实例):通用型实例8核32 GiB,磁盘选择云盘。 |
|
Core 功能与Task节点相似,不存储数据。 |
|
|
Task 提供计算能力。 |
不配置Core节点,只配置Task节点的情况:
Core节点和Task节点都配置的情况,需要考虑峰谷场景:
|
网络配置建议
|
关键维度 |
配置建议 |
|
VPC网络配置 |
|
|
安全组配置 |
|
|
网络连接配置 |
|
附录:ECS实例类型
您可以通过实例规格族查看在售的ECS实例规格族的特点、规格及适用场景,为您在EMR控制台配置节点实例规格提供参考。
|
实例类型 |
特性 |
|
通用型 |
vCPU:Memory=1:4,简称g系列。 |
|
计算型 |
vCPU:Memory=1:2,可以提供更多的计算资源,简称c系列。 |
|
内存型 |
vCPU:Memory=1:8,可以提供更多的内存资源,简称r系列。 |
|
本地SSD |
vCPU:Memory=1:4,使用本地SSD盘,具有高随机IOPS和高吞吐能力,但存在数据丢失风险。主节点不提供该实例类型。简称i系列。 |
|
大数据型 |
vCPU:Memory=1:4,使用本地SATA盘存储数据,存储性价比高,是大数据量(TB级别的数据量)场景下的推荐机型。简称d系列。 |
|
共享型 |
共享CPU的实例类型,在大计算量的场景下,稳定性不够,仅适用入门级学习,不推荐企业客户使用。仅任务节点提供该实例类型。 |