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 实例,能够灵活地以经济高效的方式响应工作负载需求。
通过实例队列配置,内置了混合实例类型和购买选项的功能,因此只有一个任务实例队列。