Amazon EMR提供了一个托管的Hadoop框架,可以轻松、快速且经济高效地使用Amazon EC2实例处理大量数据。
在EMR中可以运行其他流行的分布式框架,例如Apache Spark,HBase,Hive,Presto
和Flink
,并与其他AWS数据存储(例如Amazon S3和Amazon DynamoDB)中的数据进行交互。
基于流行的Jupyter Notebook,EMR Notebooks为临时查询和探索性分析提供了开发和协作环境。
EMR适用于多种大数据场景,包括日志分析、数据转换(ETL)、机器学习、财务分析等。
主节点来管理集群。例如,主节点运行YARN ResourceManager
服务来管理应用程序的资源。它还运行 HDFS NameNode
服务,跟踪提交到集群的作业的状态,并监控instance group的运行状况。
EMR 5.23.0 及更高版本可以启动具有三个主节点的集群,以支持 YARN 资源管理器、HDFS NameNode、Spark、Hive 和 Ganglia 等应用程序的高可用性。如果其中一个主节点发生故障,Amazon EMR 会自动故障转移到备用主节点,并使用相同配置的新主节点替换发生故障的主节点。
核心节点由主节点管理。核心节点运行Data node daemon
来进行HDFS数据存储,还运行Task Tracker daemon
,例如,核心节点运行 YARN NodeManager daemon、Hadoop MapReduce task
和 Spark executor
。
每个集群只有一个core instance group或instance fleet,但IG或IF中的多个 EC2 实例上可以运行多个节点。通过IG,可以在集群运行时添加和删除 EC2 实例。还可以设置自动扩展以根据指标值添加实例。
使用任务节点来增强对数据执行并行计算任务的能力,例如 Hadoop MapReduce 任务和 Spark executor。任务节点不运行Data Node daemon
,也不将数据存储在 HDFS 中。
通过统一实例组配置,最多可以拥有 48 个任务实例组。通过这种方式添加实例组的功能,可以混合使用 Amazon EC2 实例类型和定价选项,例如按需实例和 Spot 实例,能够灵活地以经济高效的方式响应工作负载需求。
通过实例队列配置,内置了混合实例类型和购买选项的功能,因此只有一个任务实例队列。