1

我在 EC2 上设置了一个 Hadoop 集群,我想知道如何做 DFS。我所有的数据目前都在 s3 中,所有 map/reduce 应用程序都使用 s3 文件路径来访问数据。现在我一直在研究 Amazon EMR 是如何设置的,似乎对于每个工作流,都设置了一个名称节点和数据节点。现在我想知道我是否真的需要这样做,或者我是否可以使用 s3(n) 作为 DFS?如果这样做,有什么缺点吗?

谢谢!

4

4 回答 4

5

为了在 core-site.xml 中使用 S3 而不是 HDFS fs.name.default 需要指向您的存储桶:

<property>
        <name>fs.default.name</name>
        <value>s3n://your-bucket-name</value>
</property>

建议您使用 S3N 而不是简单的 S3 实现,因为任何其他应用程序和您自己都可以读取 S3N :)

此外,在同一个 core-site.xml 文件中,您需要指定以下属性:

  • fs.s3n.awsAccessKeyId
  • fs.s3n.awsSecretAccessKey

fs.s3n.awsSecretAccessKey

于 2011-08-25T21:24:58.660 回答
1

你工作的任何中间数据都会进入 HDFS,所以是的,你仍然需要一个 namenode 和 datanodes

于 2011-06-15T04:21:00.263 回答
1

https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/core-default.xml

fs.default.name 已弃用,也许 fs.defaultFS 更好。

于 2016-11-08T11:35:04.423 回答
0

我能够使用 s3 集成工作

<property>
        <name>fs.default.name</name>
        <value>s3n://your-bucket-name</value>
</property> 

在 core-site.xml 中并使用 hdfs ls 命令获取文件列表。但还应该有 namenode 和单独的 datanode 配置,因为仍然不确定数据如何在数据节点中分区。

我们应该为namenode和datanode提供本地存储吗?

于 2016-08-03T02:15:52.327 回答