首页 > 解决方案 > 如何配置 AWS EMR 以使用 s3 作为 hdfs 存储

问题描述

我正在尝试使用以下配置创建 EMR 集群,但在 Bootstrap 阶段失败。我使用的 EMR 版本是 EMR 5.13.0

[
  {
    "Classification": "core-site",
    "Properties": {
      "fs.defaultFS": "s3://my-s3-bucket",
      "fs.s3a.imp": "org.apache.hadoop.fs.s3.S3FileSystem"
    }
  }
]

如果我删除此配置,集群将成功配置。知道如何完成 s3 支持的 hdfs 配置吗?

标签: hdfsemramazon-emrelastic-map-reduce

解决方案


简而言之,你想要达到的目标是不可能的。

原因: HDFS 是Hadoop FileSystem API的一种实现——基于 POSIX 文件系统行为建模。

虽然 EMR 文件系统 (EMRFS) 是一个核心对象存储,它模仿所有 Amazon EMR 集群用于从 Amazon EMR 直接将常规文件读取和写入到 Amazon S3 的 HDFS。它仍然违反了 Hadoop FileSystem API 的一些要求,被视为 HDFS 的替代品。请参阅上述链接中的“对象存储与文件系统”部分。

话虽如此,您仍然可以使用 Amazon S3 作为 EMR 上的存储选项,而无需配置任何东西,只需使用 URI 方案s3://

希望这能回答你的问题。


推荐阅读