选择合适的集群是E-MapReduce产品使用的第一步。E-MapReduce配置选型不仅要考虑企业大数据使用场景、估算数据量、服务可靠性要求,还应该考虑企业预算。

大数据使用场景

E-MapReduce产品当前主要满足企业的以下大数据场景:
  • 批处理场景

    该场景对磁盘吞吐和网络吞吐要求高,处理的数据量也大,但对数据处理的实时性要求不高,您可以选用MapReduce、Pig和Spark组件。该场景对内存要求不高,选型时您需要重点关注作业对CPU和内存的需求,以及Shuffle对网络的需求。

  • Ad-Hoc查询

    数据科学家或数据分析师使用即席查询工具检索数据。该场景对查询实时性、磁盘吞吐和网络吞吐要求高,您可以选用E-MapReduce的Impala和Presto组件。该场景对内存要求高,选型时需要考虑数据和并发查询的数量。

  • 流式计算、高网络吞吐和计算密集型场景

    您可以选用E-MapReduce的Flink、Spark Streaming和Storm组件。

  • 消息队列

    该场景对磁盘吞吐和网络吞吐要求高,并且内存消耗大,存储不依赖于HDFS。您可以选用E-MapReduce的Kafka集群。

  • 数据冷备场景

    该场景对计算和磁盘吞吐要求不高,但要求冷备成本低,推荐使用JindoFS将阿里云OSS的归档型和深度归档型作为冷数据存储,以降低存储成本。

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.04 元/GB/月
  • OSS标准型存储为0.12 元/GB/月
  • OSS归档型存储为0.033 元/GB/月
  • OSS深度归档型存储为0.015 元/GB/月
  • 高效云盘存储为0.35 元/GB/月
  • SSD云盘存储为1.00 元/GB/月

云盘的具体价格信息,请参见详细定价

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与业务系统在同一地域的同一个可用区。详情请参见地域和可用区