hdfs - 如何配置 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 配置吗?
解决方案
简而言之,你想要达到的目标是不可能的。
原因: HDFS 是Hadoop FileSystem API的一种实现——基于 POSIX 文件系统行为建模。
虽然 EMR 文件系统 (EMRFS) 是一个核心对象存储,它模仿所有 Amazon EMR 集群用于从 Amazon EMR 直接将常规文件读取和写入到 Amazon S3 的 HDFS。它仍然违反了 Hadoop FileSystem API 的一些要求,被视为 HDFS 的替代品。请参阅上述链接中的“对象存储与文件系统”部分。
话虽如此,您仍然可以使用 Amazon S3 作为 EMR 上的存储选项,而无需配置任何东西,只需使用 URI 方案s3://。
希望这能回答你的问题。
推荐阅读
- javascript - 使用来自 vanilla JS 的 Firebase Cloud Firestore 触发器
- angular - 有没有办法隐藏其中一个组件中的主菜单栏并仅为该组件添加特定的新导航栏?
- android - 为什么这个整数不格式化为一个表现良好的数字?
- r - R 生成的 PDF 具有不一致的 MD5 校验和
- python - 硒元素无法通过键盘访问
- scala - 如果在 scala 上,我如何重构这个嵌套
- azure - 在 Azure CDN 上部署静态 Vue 应用程序但允许错误页面
- accessibility - 您可以在网页上多次使用 aria-live 吗?
- javascript - 如何将样式应用于 SVG 元素数组
- reactjs - 在函数内部的 if 语句上设置屏幕大小