实例存储 - Amazon EMR

实例存储

实例存储和 Amazon EBS 卷存储用于 HDFS 数据,以及缓冲区、缓存、Scratch 数据和一些应用程序可能“溢出”到本地文件系统中的其他临时内容。

Amazon EBS 在 Amazon EMR 中的工作方式与常规 Amazon EC2 实例的工作方式不同。附加到 Amazon EMR 集群的 Amazon EBS 卷是临时的:这些卷在集群和实例终止时(例如,在缩减实例组时)将被删除,因此请务必不要指望数据能持久保留。虽然数据是临时存在的,但有可能可以复制 HDFS 中的数据,具体取决于集群中的节点数目和规范。在添加 Amazon EBS 存储卷时,这些卷将作为附加卷进行安装。它们不是引导卷的一部分。YARN 已配置为使用所有附加卷,但您负责将附加卷作为本地存储 (例如,针对本地日志文件) 分配。

有关将 Amazon EBS 与 Amazon EMR 集群结合使用的其他警告包括:

  • 您无法拍摄 Amazon EBS 卷快照,然后在 Amazon EMR 中将其还原。要创建可重复使用的自定义配置,请使用自定义 AMI(在 Amazon EMR 版本 5.7.0 和更高版本中提供)。有关更多信息,请参阅使用自定义 AMI

  • 只有在使用自定义 AMI 时,才支持加密的 Amazon EBS 根设备卷。有关更多信息,请参阅创建带加密 Amazon EBS 根设备卷的自定义 AMI

  • 如果使用 Amazon EMR API 应用标签,则这些操作将适用于 EBS 卷。

  • 每个实例最多有 25 个卷。

  • 核心节点上的 Amazon EBS 卷不得小于 5GB。

实例的默认 Amazon EBS 存储

Amazon EMR 自动将 Amazon EBS 通用型 SSD(gp2)10GB 卷附加为其 AMI 的根设备以提高性能。此外,对于仅具有 EBS 存储的 EC2 实例,Amazon EMR 会将 Amazon EBS gp2 存储卷分配给实例。在使用 Amazon EMR 发行版 5.22.0 和更高版本创建集群时,默认 Amazon EBS 存储量根据实例大小而增加。我们跨多个卷拆分增加的存储,从而提高了 IOPS 性能,这相应又会提高某些标准化工作负载的性能。如果要使用其他 Amazon EBS gp2 实例存储配置,您可以在创建 Amazon EMR 集群或将节点添加到现有集群时指定该配置。目前,Amazon EBS gp3 卷不能用作 Amazon EMR 集群上的根卷。您只能将 Amazon EBS gp2 卷用作根卷,并将 gp3 卷添加为附加卷。下表列出了每种实例类型的默认 Amazon EBS gp2 存储卷数量、大小以及总大小。

Amazon EBS 的成本将根据运行集群的 AWS 区域中 gp2 卷的月度费用,按小时比例收取。例如,按 0.10 USD/GB/月收费的区域中的每个集群节点上的根卷的每小时 Amazon EBS 费用约为 0.00139 USD/小时(0.10 USD/GB/月除以 30 天除以 24 小时乘以 10 GB)。

Amazon EMR 5.22.0 和更高版本的默认 Amazon EBS gp2 存储卷和大小(按实例类型划分)
实例大小 卷数 卷大小 (GiB) 总大小(GiB)

*.large

1

32

32

*.xlarge

2

32

64

*.2xlarge

4

32

128

*.4xlarge

4

64

256

*.8xlarge

4

128

512

*.9xlarge

4

144

576

*.10xlarge

4

160

640

*.12xlarge

4

192

768

*.16xlarge

4

256

1024

*.18xlarge

4

288

1152

*.24xlarge

4

384

1536

指定额外的 EBS 存储卷

在 Amazon EMR 中配置实例类型时,可以指定其它 EBS 卷来添加实例存储(如果存在)和默认 EBS 卷之外添加容量。Amazon EBS 提供以下卷类型:通用型(SSD)、预置 IOPS(SSD)、吞吐优化(SSD)、冷数据(SSD)和磁性介质。它们的性能特点和价格不同,您可根据应用程序的分析和业务需求定制您的存储。例如,一些应用程序可能需要溢出到磁盘,而其它应用程序可在内存中或使用 Amazon S3 安全工作。

您只能在集群启动时以及添加额外的任务节点实例组时将 Amazon EBS 卷附加到实例。如果 Amazon EMR 集群中的某个实例失败,则该实例及其附加的 Amazon EBS 卷将被替换为新卷。因此,如果您手动分离 Amazon EBS 卷,Amazon EMR 会将此操作视为失败并替换实例存储(如果适用)和卷存储。

Amazon EMR 不允许您将现有 EMR 集群的卷类型从 gp2 修改为 gp3。要将 gp3 用于工作负载/使用案例,您需要启动一个新的 EMR 集群。此外,我们不建议更新正在使用或正在预调配的集群的吞吐量和 IOPS,因为 Amazon EMR 将您在集群启动时指定的吞吐量和 IOPS 值用于在集群纵向扩展期间添加的任何新实例。请参阅 比较 Amazon EBS 卷类型 gp2 和 gp3 迁移到 gp3 时选择 IOPS 和吞吐量

重要

要将 gp3 卷用于您的 EMR 集群,请使用 API、开发工具包或 CLI 启动新的 EMR 集群。