Amazon Elastic MapReduce (EMR)是一款专为大数据处理和分析服务而设计的工具。EMR是亚马逊网络服务(AWS)的产品,但它基于Apache Hadoop,这是一个编程框架,用于跨分布式计算环境处理大数据集的处理任务。
Amazon EMR可以跨运行在Amazon Simple Storage Service (S3)和Amazon Elastic Compute Cloud (EC2)上的虚拟服务器的Hadoop集群处理大数据。EMR具有动态调整大小的功能,使系统能够根据当前需求增加或减少资源使用。
运行Amazon EMR有几种方法,每种方法都有自己的定价。EMR可以直接运行在Amazon EC2或Amazon Elastic Kubernetes Service (EKS)上,实际实例运行在EC2或Fargate上。EMR是按每秒使用量定价的,在EC2计算实例、Fargate vcpu和运行EMR作业所需的其他服务(如存储)的常规成本之上。
这是我们系列文章的一部分AWS定价.
在这篇文章中,你将学到:
EMR有三种运行模式:在Amazon EC2上,在Outposts上(允许您在本地运行AWS资源),以及在Amazon Elastic Kubernetes Service (EKS)雷竞技rabet官网上。有关最新的价格信息,请参阅官方定价页.
Amazon EMR根据每秒基准费率定价,在常规服务价格的基础上计费。在Amazon EC2上部署EMR时,您需要为所选的EC2实例以及EMR处理付费。
例如,对于一个m4.16xlarge实例,在美国东部地区,EC2实例的成本是每小时3.20美元,EMR的成本是每小时0.27美元(所有实例类型都有相应的EMR成本)。
您可以从任何常规的EC2实例定价模型中进行选择,包括保留实例和现货实例。如果您将Amazon EBS卷附加到您的EC2实例,您还需要为EBS存储付费。
AWS Outposts是一种托管设备,允许您在本地数据中心运行AWS云服务。您可以在Outposts上购买各种AWS Outposts配置,这些配置包括EC2实例类型、EBS gp2卷和S3的组合。价格包括设备的交付、安装、维护和软件更新。
在AWS Outposts上部署EC2实例后,在该实例上运行EMR的额外费用与在Amazon云中相同。
您可以在Amazon Elastic Kubernetes Service (EKS)容器上以两种部署模型运行EMR:
这里有一些小贴士和技巧,你可以用来节省亚马逊EMR的成本。
对于EMR工作负载,使用它是一个很好的主意AWS现货实例而不是按需实例。EC2现货实例允许您竞标Amazon EC2上未使用的容量。你支付的价格取决于亚马逊现货市场的当前供求情况。
使用Spot实例的成本可以比同等的按需实例低90%。但是,您需要仔细地管理现货实例。当按需、保留实例或储蓄计划客户请求相同类型的实例时,现货实例将在短时间内终止。
要提高EMR工作负载的弹性,请使用以下策略:
EMR本身不提供保留的实例但如果需要长时间运行EMR工作负载,则可以使用EC2预留实例。
这意味着您拥有与EC2保留实例相同的定价选项。主要的区别是,除了保留实例价格之外,您还必须为EMR支付与您选择的EC2实例类型相关的额外费用。
您可以向EC2保留实例提交1年或3年的期限。以下付款方式可供选择:
EMR集群通常用于执行繁重的计算任务,因此它们往往需要强大的EC2实例和多个计算节点。因此,提前付款可以变成一项巨大的投资。
与其为每个EMR任务启动单独的集群,不如创建一个系统,在几个较小的任务之间共享集群,这样效率更高。
请记住,EMR的最低计费周期为一小时。如果有几个短作业需要运行几分钟,那么可以在同一个集群上执行它们,以填充一个小时的使用时间。如果在单独的集群上运行每个作业,那么每个作业都将被计算为一个小时,即使实际执行时间要短得多。
共享集群的另一个优点是启动一个新的EMR集群所需的时间。更倾向于使用现有的集群,因为这样可以节省引导时间,并且可以使用这些时间运行其他作业。
AWS自动缩放对于管理长时间连续运行的EMR集群非常有用。它可以帮助您根据当前正在运行的作业自动调整集群大小。您可以以5分钟的分辨率自动缩放,这是设置EMR节点所需的时间。
Amazon EMR可以通过编程方式扩展Apache Spark和Apache Hive等应用程序,通过添加节点来提高性能。集群可以根据Amazon EMR CloudWatch指标(包括YARN利用率指标)进行伸缩。
上述节省成本的最佳实践并不容易实现。例如,为了提高在现场实例上运行的EMR工作负载的弹性,您将需要使用不同的实例类型。但是,这样做需要配置和管理多个自动伸缩组。
要设置适当的自动伸缩,自动为实例提供正确的配置、最少的站立时间,并且不需要人工干预,这可能需要大量的工作和专门的技术知识。
Spot by NetApp可以帮助AWS EMR用户自动利用这些成本节约策略: