Amazon Elastic MapReduce介绍

本文介绍了AmazonElasticMapReduce(EMR),一种基于ApacheHadoop的托管服务,它简化了大数据处理,提供了高可用性和弹性。EMR通过AmazonEC2实例提供PB级处理能力,并支持多种框架。文章详细讲解了EMR的架构、实施、成本模型以及如何优化资源使用。
摘要由CSDN通过智能技术生成

Amazon Elastic MapReduce 是一项托管服务,旨在通过使用短期运行且每秒成本较高的作业来处理和分析大量数据,或者用于长时间运行的工作负载,从而允许您在架构中构建高可用性。

EMR 基于流行且可靠的 Apache Hadoop 框架,这是一个用于大数据处理的开源分布式处理框架。 组织和公司可以通过使用 Amazon EMR 获得巨大的好处,因为它抽象并降低了传统 MapReduce 框架所使用的基础设施层的复杂性。

实施健康的 Hadoop 集群设置所涉及的工作并不是那么微不足道。 因此,亚马逊云所做的就是将 Hadoop 框架的所有基础设施封装到一个集成环境中,这样您就可以在几分钟内启动集群,并专注于真正重要的部分,这不是管理基础设施,而是根据您的需求处理数据。

Amazon EMR 安全可靠地处理您的数据分析用例,包括日志分析、Web 索引、数据仓库、机器学习、财务分析、科学模拟和生物信息学。 Amazon EMR 利用配置有 Hadoop 框架的 Amazon EC2 实例来提供 PB 级处理能力。

Amazon EMR 支持大数据和数据分析领域使用的许多其他框架,包括 Spark、Presto 和 HBase。 使用 亚马逊云管理控制台或 Amazon CLI,您可以快速轻松地为每个框架创建集群。

使用EMR可以在几分钟(而不是几小时或几天)内完成分析,从而节省时间和金钱。 如果您过去有创建手动 Hadoop 集群设置的经验,那么您就会知道,这在工作量和配置您自己的硬件方面可以节省大量时间。

但是,对于 EMR,成本模型基于即用即付的基础,这意味着您只需在集群运行时为预配置的资源付费。 您可以选择不同的 EC2 实例类型和大小以获得不同的性能。 如果您需要短时间内强大的处理能力,您可以运行 100 个节点 1 小时,而不是运行 10 个节点 10 小时,并且您支付相同的价格。 您还可以利用 EC2 定价模型,例如 Spot 实例和 EC2 预留实例。

弹性是云的另一个固有特征,因为可以根据需求随时增加或缩减资源。 您可以动态添加或删除节点。 例如,如果在创建集群期间您低估了所需的资源,则可以向其中添加更多核心或任务节点。

安全性是亚马逊云及其所有服务的一个重要因素,对于 EMR 来说也不例外。 您的实例由 EC2 安全组保护,并由主节点的一个安全组和默认情况下不具有外部访问权限的其他节点类型的其他安全组进行分段。 当然,您可以修改此行为,但强烈建议不要向集群开放世界。 数据也在 Amazon S3 上受到保护,您可以使用 CloudTrail 启用审核。

您也可以利用 Hadoop 文件系统将数据存储在集群本身中。 您还可以将结果存储回 DynamoDB 表,如果您想利用现有的 BI 工具和数据仓库基础设施,则可以将结果提供给 Redshift。 或者使用 Amazon Glacier 将它们保存用于存档目的,也可以将它们放入关系数据库系统中。

Amazon EMR 包含三个基本架构组件,它们都是节点类型:主节点、核心节点和任务节点。

主节:每个集群只有一个主节点,它负责实际管理 EMR 集群并运行进程来处理分布式应用程序。 这些进程的示例包括 YARN ResourceManager 和 HDFS NameNode 服务。 这些允许主节点使用集群管理应用程序的资源。 主节点还跟踪已提交的 EMR 作业,并包含 Hadoop 日志文件,如果您本地连接到主节点,则可以访问这些文件。

Core 节点: Master 节点链中的下一个节点,因此 Core 节点由 Master 节点管理。 可以配置多个核心节点,以便您实施实例队列。 实例队列允许您使用最多 5 种不同的实例类型配置多个核心节点。 在实例队列中,您可以在集群使用时使用自动扩展根据需要添加或删除实例。

核心节点还运行许多进程,与主节点非常相似,其中包括管理 Hadoop 分布式文件系统 (HDFS) 内的数据存储的数据节点守护进程。 此外,核心节点运行任务跟踪器守护进程,允许进行并行处理

任务节点:在三种可用的节点类型中,任务节点是集群中唯一可选的节点类型。 利用任务节点,您可以使用 Hadoop MapReduce 任务或 Spark 执行器对数据实施一定程度的并行计算操作。 同样,使用自动扩展,您可以自动扩展实例队列中的任务节点。

为了优化成本,使用实例队列中的 Spot 实例作为任务节点是执行 EMR 作业处理的非常有效的方法。

配置集群时,您需要考虑要在运行 HDFS 的核心节点上存储的数据量。 对于处理,您可以根据需要添加任意数量的任务节点,如果您过度配置集群,您可以动态减少任务节点的数量,而不会中断正在运行的作业。

在添加或删除容量时,如果需要更多容量,您可以部署多个集群,并且可以轻松启动新集群并在不再需要时终止它。 您可以拥有的集群数量没有限制。 如果您有多个用户或要运行不同的作业,您可能需要使用多个集群。 例如,您可以将输入数据存储在 S3 中,并为需要处理该数据的每个应用程序启动一个集群。 一个集群可能针对 CPU 进行优化,另一集群针对存储进行优化,您还可以调整正在运行的集群的大小。 借助 Amazon EMR,可以轻松调整正在运行的集群的大小。 您可能需要调整集群大小以暂时添加更多处理能力或缩小集群以节省资金。

MapReduce是一种分布式计算模型,由Google在2004年提出,用于大规模数据集的并行处理。它的基本架构包括两个主要阶段:Map阶段和Reduce阶段。 1. **Map阶段**:在这个阶段,输入数据被分割成多个小块,每个块都会分配给集群中的一个节点进行处理。Mapper函数接收这些小块,对数据进行转换(键值对分割),将中间结果以键值对的形式发送出去,键作为排序依据,值作为待处理的数据。 2. **Reduce阶段**:Mapper生成的中间键值对经过排序后,被传递到Reducer函数中。Reducer函数接收同一键的所有值,进行聚合操作,生成最终的输出结果。 Amazon EMR(Elastic MapReduce)是Amazon Web Services(AWS)提供的一个托管服务,用于在云中大规模地运行Hadoop MapReduce、Apache Spark等大数据处理框架。它基于Hadoop,但提供了自动化管理和扩展能力,使得用户无需自行管理集群基础设施。 EMR的特点包括: - **弹性扩展**:可以根据需求自动调整集群规模,无论是增加或减少节点。 - **一键式部署**:用户可以通过EMR界面或API快速启动和停止Hadoop集群。 - **集成其他服务**:如S3存储、EC2实例、Kafka等,提供了完整的数据处理生态系统。 - **成本优化**:按需计费,避免了传统Hadoop集群的初始硬件投入和运维成本。 相比于经典MapReduce框架,EMR的优势在于: - **简化运维**:用户不再需要关注底层硬件和配置管理。 - **资源高效利用**:自动缩放功能减少了资源浪费。 - **更好的支持实时和流处理**:通过添加如Spark Streaming或Kinesis Data Streams等组件。 在实验过程中,理解和应用这些知识点可能涉及: - **编写Map和Reduce函数**:理解如何定义和实现自定义的mapper和reducer逻辑。 - **配置和调优作业**:学习如何设置任务分区数、内存和磁盘分配,以优化性能。 - **监控和诊断**:通过EMR提供的监控工具跟踪任务进度和性能瓶颈。 - **结合其他AWS服务**:了解如何使用S3存储数据,或者使用Kinesis Data Firehose进行实时数据处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值