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

实例存储

实例存储和/或 EBS 卷存储用于 HDFS 数据,以及缓冲区、缓存、暂存数据和一些应用程序可能“溢出”到本地文件系统中的其他临时内容。EMRFS 可以帮助确保 Amazon S3 中存储的 HDFS 数据有持久的“可信来源”。

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

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

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

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

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

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

实例的默认 EBS 存储

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

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

Amazon EMR 5.22.0 和更高版本的默认 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)、吞吐优化 (HDD)、冷数据 (HDD) 和磁性介质。它们的性能特点和价格不同,您可根据应用程序的分析和业务需求定制您的存储。例如,一些应用程序可能需要溢出到磁盘,而其他应用程序可在内存中或使用 Amazon S3 安全工作。

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