Amazon EMR:将 EBS 卷附加到实例时如何确保使用该卷

Posted

技术标签:

【中文标题】Amazon EMR:将 EBS 卷附加到实例时如何确保使用该卷【英文标题】:Amazon EMR: while attaching EBS volume to instance how to be sure that this volume is to be used 【发布时间】:2017-04-19 20:12:00 【问题描述】:

在我的 mrjob.conf 中,我为附加卷进行设置:

  Instances.InstanceGroups.member.2.EbsConfiguration.EbsBlockDeviceConfigs.member.1.VolumeSpecification.SizeInGB: 250
  Instances.InstanceGroups.member.2.EbsConfiguration.EbsBlockDeviceConfigs.member.1.VolumeSpecification.VolumeType: gp2
  Instances.InstanceGroups.member.2.EbsConfiguration.EbsBlockDeviceConfigs.member.1.VolumesPerInstance: 1

当我运行集群时,我看到每个实例都有 10gb 和 250gb 卷。但是 EMR 是否使用 250gb 存储来保存数据?如果不是如何使它工作?

【问题讨论】:

我会提醒,EMR 的最佳建议是在可能的情况下实际使用 EMRFS - 即直接将 S3 挂载为 HDFS 挂载点。在您的情况下,是的,我相信它会自动拾取 250 GB 硬盘作为写入 HDFS 的空间? EMR 是否使用 250gb 存储来保存数据? ,什么样的数据以及谁在生成数据? 【参考方案1】:

是的,如果您在集群启动期间使用 EMR API 配置 EBS 卷,EMR 会为 HDFS 装载、格式化和使用 EBS 卷。

您可以看到它安装到 /mnt1/ 、 /mnt2/ 等点以及 hdfs-site.xml 中包含的那些安装点。所有对 HDFS 的写入都将根据 hdfs-site.xml 中设置的策略在这些挂载之间自动进行负载平衡。当前的策略是 * 所有写入都转到最大的卷,直到其剩余空间与其余卷大致相等,然后它开始使用循环。

请注意,挂载点可能不会被所有东西使用,例如 EMR 可能不会使用这些挂载来将纱线容器日志存储在本地磁盘上。 (您可以稍后配置)

【讨论】:

以上是关于Amazon EMR:将 EBS 卷附加到实例时如何确保使用该卷的主要内容,如果未能解决你的问题,请参考以下文章

在启动 Amazon EC2 Linux 实例时自动挂载 EBS 卷

将多个 ebs 卷附加到每个 ec2 实例

您可以将 Amazon EBS 附加到多个实例吗?

Amazon EC2 - 将根实例存储设备与 EBS 设备交换

将 EBS 卷附加到 AutoScalingGroup

AWS 自动将 EBS 卷附加到 Elastic Beanstalk 后面的 EC2 实例