Amazon EMR
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

实例购买选项

当您设置集群时,可以选择 EC2 实例的购买选项。您可以选择使用按需实例和/或 Spot 实例。价格因实例类型和区域而异。有关当前定价,请参阅 Amazon EMR 定价

您选择在集群中使用实例组还是实例队列将确定您在集群运行时更改实例购买选项的方式。如果您选择使用统一实例组,则实例类型和购买选项将应用于每个实例组中的所有 EC2 实例,且您只能在创建实例组时为其指定购买选项。如果您选择使用实例队列,则可在创建实例队列后更改购买选项,并可以组合购买选项以实现您指定的目标容量。有关这些配置的更多信息,请参阅使用实例队列或统一实例组创建集群

重要

使用 AWS Management Console选择实例类型时,每个 Instance type 显示的 vCPU 数量是该实例类型的 YARN vcore 数量,而不是该实例类型的 EC2 vCPU 数量。有关每个实例类型的 vCPU 数量的更多信息,请参阅 Amazon EC2 实例类型

按需实例

对于按需实例,您可以按小时为计算容量付费。(可选)您可以为这些按需实例使用预留实例或专用实例购买选项。对于预留实例,您可以对实例进行一次性付款以预留容量。专用实例与属于其他 AWS 账户的实例在主机硬件级别是实体隔离的。有关购买选项的更多信息,请参阅 Amazon EC2 User Guide for Linux Instances 中的实例购买选项

使用预留实例

要在 Amazon EMR 中使用预留实例,您可以使用 Amazon EC2 购买预留实例并指定预留的参数,包括应用于区域或可用区时的预留范围。有关更多信息,请参阅 Amazon EC2 User Guide for Linux Instances 中的 Amazon EC2 预留实例购买预留实例。购买预留实例后,如果满足以下所有条件,则 Amazon EMR 会在集群启动时使用预留实例:

  • 在集群配置中指定匹配预留实例规范的按需实例

  • 在实例预留范围内启动集群 (可用区或区域)

  • 预留实例容量仍可用

例如,假设您购买了一个 m4.large 预留实例,其实例预留范围限于美国东部区域。然后,您在美国东部区域启动一个使用两个 m4.large 实例的 EMR 集群。第一个实例按照预留实例费率计费,第二个实例按照按需费率计费。在创建任何按需实例之前使用预留实例容量。

使用专用实例

要使用专用实例,您可以先使用 Amazon EC2 购买专用实例,然后使用 Dedicated 租赁属性创建 VPC。随后,您在 Amazon EMR 中指定集群应在此 VPC 中启动。在集群启动时,集群中符合专用实例规范的任何按需实例均使用可用的专用实例。

注意

Amazon EMR 不支持对单个实例设置 dedicated 属性。

Spot 实例

利用 Amazon EMR 中的 Spot 实例,您能够以比按需购买更低的价格购买 Amazon EC2 实例容量。使用 Spot 实例的缺点是,实例可能会因价格波动而以不可预料的方式终止。在使用实例队列创建集群时,您可以选择使用定义的持续时间 (也称作 Spot 限制),这将提高可预测性。Spot 实例在持续时间结束时终止,但在持续时间过期前不会中断。本主题介绍 Spot 实例如何与 Amazon EMR 结合使用。有关 Spot 实例的更多详细信息,请参阅 Amazon EC2 User Guide for Linux Instances 中的 Spot 实例

当 Amazon EC2 拥有未利用的容量时,它会以更低的成本 (称为 Spot 价格) 提供 EC2 实例。此价格会根据可用性和需求发生波动,并且按区域和可用区制定。有关当前定价,您可以参阅 Amazon EC2 Spot 实例定价。在创建和配置集群时,您指定用于最终确定集群从中启动的可用区的网络选项。有关更多信息,请参阅 计划和配置联网

在选择 Spot 实例时,您指定您愿意为每个 EC2 实例类型支付的最高 Spot 价格。当集群的可用区中的 Spot 价格低于为该实例类型指定的最高 Spot 价格时,实例将启动。在实例运行时,您支付的是当前 Spot 价格,而不是您的最高 Spot 价格

提示

在使用 Advanced Options (高级选项) 创建集群的情况下,将鼠标悬停在 Spot 购买选项旁边的信息工具提示上方,即可在控制台中看到实时 Spot 价格。这将显示所选区域中每个可用区的价格。最低价格位于绿色行中。因为可用区之间的 Spot 价格会波动,所以,选择初始价格最低的可用区并不保证集群在整个使用期限的使用价格最低。要获得最佳结果,请在选择之前了解可用区定价的历史记录。有关更多信息,请参阅 Amazon EC2 User Guide for Linux Instances 中的 Spot 实例定价历史记录

Spot 实例选项取决于您在群集配置中使用统一实例组还是实例队列。

统一实例组中的 Spot 实例

当您使用统一实例组中的 Spot 实例时,实例组中的所有实例必须是 Spot 实例。您为集群指定一个子网或可用区。对于每个实例组,您指定一个 Spot 实例类型和最高 Spot 价格。如果集群的区域和可用区中的 Spot 价格低于最高 Spot 价格,则该类型的 Spot 实例将启动。如果 Spot 价格高于您的最高 Spot 价格,则实例将终止。仅在配置实例组时设置最高 Spot 价格。它可以在稍后更改。有关更多信息,请参阅 使用实例队列或统一实例组创建集群

实例队列中的 Spot 实例

在使用实例队列配置时,可使用其他选项更好地控制 Spot 实例启动和终止的方式。基本上,实例队列使用与统一实例组不同的方法来启动实例。其工作方式是,您为 Spot 实例 (和按需实例) 确立目标容量 并创建最多 5 个实例类型。此外,您可以为每个实例类型指定权重容量,或使用实例类型的 vCPU (YARN vcore) 作为权重容量。在预配置该类型的实例时,此权重容量将计入目标容量。Amazon EMR 使用两个购买选项预配置实例,直至达到每个目标的目标容量。此外,您可以为 Amazon EMR 定义一系列可用区,以便在启动实例时从中选择。您还为每个队列提供其他 Spot 选项,包括预配置超时和可选的已定义持续时间。有关更多信息,请参阅 配置实例队列

本页内容: