navigation

EMR介绍

  • Amazon EMR提供了一个托管的Hadoop框架,可以轻松、快速且经济高效地使用Amazon EC2实例处理大量数据。

  • 在EMR中可以运行其他流行的分布式框架,例如Apache Spark,HBase,Hive,PrestoFlink,并与其他AWS数据存储(例如Amazon S3和Amazon DynamoDB)中的数据进行交互。

  • 基于流行的Jupyter Notebook,EMR Notebooks为临时查询和探索性分析提供了开发和协作环境。

EMR适用于多种大数据场景,包括日志分析、数据转换(ETL)、机器学习、财务分析等。

EMR上的三种节点

主节点 - primary node

主节点来管理集群。例如,主节点运行YARN ResourceManager 服务来管理应用程序的资源。它还运行 HDFS NameNode 服务,跟踪提交到集群的作业的状态,并监控instance group的运行状况。

EMR 5.23.0 及更高版本可以启动具有三个主节点的集群,以支持 YARN 资源管理器、HDFS NameNode、Spark、Hive 和 Ganglia 等应用程序的高可用性。如果其中一个主节点发生故障,Amazon EMR 会自动故障转移到备用主节点,并使用相同配置的新主节点替换发生故障的主节点。

核心节点 - Core Node

核心节点由主节点管理。核心节点运行Data node daemon来进行HDFS数据存储,还运行Task Tracker daemon,例如,核心节点运行 YARN NodeManager daemon、Hadoop MapReduce taskSpark executor

每个集群只有一个core instance group或instance fleet,但IG或IF中的多个 EC2 实例上可以运行多个节点。通过IG,可以在集群运行时添加和删除 EC2 实例。还可以设置自动扩展以根据指标值添加实例。

任务节点 - Task Node

使用任务节点来增强对数据执行并行计算任务的能力,例如 Hadoop MapReduce 任务和 Spark executor。任务节点不运行Data Node daemon,也不将数据存储在 HDFS 中。

通过统一实例组配置,最多可以拥有 48 个任务实例组。通过这种方式添加实例组的功能,可以混合使用 Amazon EC2 实例类型和定价选项,例如按需实例和 Spot 实例,能够灵活地以经济高效的方式响应工作负载需求。

通过实例队列配置,内置了混合实例类型和购买选项的功能,因此只有一个任务实例队列。