实例存储 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

实例存储

实例存储和 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 的根设备以提高性能。此外,对于具有仅 Amazon EBS 的存储的 EC2 实例,Amazon EMR 将 EBS 存储卷分配给实例。在使用 Amazon EMR 发行版 5.22.0 和更高版本创建集群时,默认 Amazon EBS 存储量根据实例大小而增加。此外,我们将增加的存储拆分到多个卷,从而提高了 IOPS 性能,反过来,这又会提高某些标准化工作负载的性能。如果要使用不同的 Amazon EBS 实例存储配置,您可以在创建 Amazon EMR 集群或将节点添加到现有集群时指定该配置。请参阅下表以确定默认 EBS 存储卷数、其大小以及每种实例类型的总大小。

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

Amazon EMR 5.22.0 和更高版本的默认 Amazon EBS 存储卷和大小(按实例类型划分)
实例大小 卷数 卷大小 (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 会将此操作视为失败并替换实例存储(如果适用)和卷存储。