使用 s3 作为 fs.default.name 还是 HDFS?
我正在 EC2 上设置 Hadoop 集群,我想知道如何进行 DFS。我的所有数据当前都位于 s3 中,并且所有 Map/Reduce 应用程序都使用 s3 文件路径来访问数据。现在我一直在研究亚马逊 EMR 的设置方式,似乎对于每个作业流,都设置了名称节点和数据节点。现在我想知道我是否真的需要这样做,或者我是否可以使用 s3(n) 作为 DFS?如果这样做的话,有什么缺点吗?
谢谢!
I'm setting up a Hadoop cluster on EC2 and I'm wondering how to do the DFS. All my data is currently in s3 and all map/reduce applications use s3 file paths to access the data. Now I've been looking at how Amazons EMR is setup and it appears that for each jobflow, a namenode and datanodes are setup. Now I'm wondering if I really need to do it that way or if I could just use s3(n) as the DFS? If doing so, are there any drawbacks?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
为了在 core-site.xml 中使用 S3 而不是 HDFS fs.name.default 需要指向您的存储桶:
建议您使用 S3N 而不是简单的 S3 实现,因为 S3N 可由任何其他应用程序和您自己读取: )
此外,在同一个 core-site.xml 文件中,您需要指定以下属性:
fs.s3n.awsSecretAccessKey
in order to use S3 instead of HDFS fs.name.default in core-site.xml needs to point to your bucket:
It's recommended that you use S3N and NOT simple S3 implementation, because S3N is readble by any other application and by yourself :)
Also, in the same core-site.xml file you need to specify the following properties:
fs.s3n.awsSecretAccessKey
您作业的任何中间数据都会发送到 HDFS,所以是的,您仍然需要名称节点和数据节点
Any intermediate data of your job goes to HDFS, so yes, you still need a namenode and datanodes
https://hadoop。 apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/core-default.xml
fs.default.name 已弃用,也许 fs.defaultFS 更好。
https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/core-default.xml
fs.default.name is deprecated, and maybe fs.defaultFS is better.
我能够
在 core-site.xml 中使用 s3 集成,并使用 hdfs ls 命令获取文件列表。但还应该有 namenode 和单独的 datanode 配置,因为仍然不确定数据如何获取在数据节点中进行分区。
我们应该为 namenode 和 datanode 提供本地存储吗?
I was able to get the s3 integration working using
in the core-site.xml and get the list of the files get using hdfs ls command.but should also should have namenode and separate datanode configurations, coz still was not sure how the data gets partitioned in the data nodes.
should we have local storage for namenode and datanode?