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

实例存储和 Amazon EBS

有两种可用于 EC2 实例的存储卷:Amazon EBS 卷和实例存储。Amazon EBS 卷仅在 Amazon EMR 版本 4.0 和更高版本中可用。根设备卷是使用实例存储还是 Amazon EBS 卷取决于 AMI。一些 AMI 由 Amazon EC2 实例存储提供支持,一些 AMI 由 Amazon EBS 提供支持。有关更多信息,请参阅 Amazon EC2 User Guide for Linux Instances 中的 Amazon EC2 根设备卷

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

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

Amazon EMR 会自动附加 Amazon EBS 通用型 SSD (gp2) 10 GB 卷作为其 AMI 的根设备,以增强性能。基于运行集群的区域中 gp2 卷的每月 Amazon EBS 费用按小时比例收取 EBS 成本。例如,按 0.10 美元/GB/月收费的区域中的每个集群节点上的根卷的每小时 EBS 成本约为 0.00139 美元/小时 (0.10 美元/GB/月除以 30 天除以 24 小时乘以 10 GB)。

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

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

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

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

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

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

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