Amazon ec2 使用s3作为fs.default.name还是HDFS?
我正在EC2上建立一个Hadoop集群,我想知道如何进行DFS。我的所有数据当前都在s3中,所有map/reduce应用程序都使用s3文件路径访问数据。现在我一直在看Amazons EMR是如何设置的,对于每个作业流,似乎都设置了namenode和datanodes。现在我想知道我是否真的需要这样做,或者我是否可以使用s3(n)作为DFS?如果这样做,有什么缺点吗Amazon ec2 使用s3作为fs.default.name还是HDFS?,amazon-ec2,hadoop,amazon-emr,Amazon Ec2,Hadoop,Amazon Emr,我正在EC2上建立一个Hadoop集群,我想知道如何进行DFS。我的所有数据当前都在s3中,所有map/reduce应用程序都使用s3文件路径访问数据。现在我一直在看Amazons EMR是如何设置的,对于每个作业流,似乎都设置了namenode和datanodes。现在我想知道我是否真的需要这样做,或者我是否可以使用s3(n)作为DFS?如果这样做,有什么缺点吗 谢谢 作业的任何中间数据都会转到HDFS,因此是的,您仍然需要一个namenode和datanodes作业的任何中间数据都会转到HD
谢谢 作业的任何中间数据都会转到HDFS,因此是的,您仍然需要一个namenode和datanodes作业的任何中间数据都会转到HDFS,因此是的,您仍然需要一个namenode和datanodes以便使用S3而不是HDFS.name。core-site.xml中的默认值需要指向您的存储桶:
<property>
<name>fs.default.name</name>
<value>s3n://your-bucket-name</value>
</property>
fs.default.name
s3n://您的bucket名称
建议您使用S3N,而不是简单的S3实现,因为S3N可由任何其他应用程序和您自己读取:)
此外,在同一core-site.xml文件中,您需要指定以下属性:
- fs.s3n.awsAccessKeyId
- fs.s3n.awsSecretAccessKey
fs.s3n.awsSecretAccessKey要在core-site.xml中使用S3而不是HDFS fs.name.default,需要指向您的存储桶:
<property>
<name>fs.default.name</name>
<value>s3n://your-bucket-name</value>
</property>
fs.default.name
s3n://您的bucket名称
建议您使用S3N,而不是简单的S3实现,因为S3N可由任何其他应用程序和您自己读取:)
此外,在同一core-site.xml文件中,您需要指定以下属性:
- fs.s3n.awsAccessKeyId
- fs.s3n.awsSecretAccessKey
我能够使用
<property>
<name>fs.default.name</name>
<value>s3n://your-bucket-name</value>
</property>
fs.default.name
s3n://您的bucket名称
在core-site.xml中,使用hdfs ls命令获取文件列表。但是还应该具有namenode和单独的datanode配置,因为z仍然不确定数据在数据节点中是如何分区的
我们应该为namenode和datanode提供本地存储吗?我能够使用
<property>
<name>fs.default.name</name>
<value>s3n://your-bucket-name</value>
</property>
fs.default.name
s3n://您的bucket名称
在core-site.xml中,使用hdfs ls命令获取文件列表。但是还应该具有namenode和单独的datanode配置,因为z仍然不确定数据在数据节点中是如何分区的
我们应该为namenode和datanode提供本地存储吗?
fs.default.name已被弃用,可能fs.defaultFS更好。
不推荐使用fs.default.name,也许fs.defaultFS更好。我已经能够在s3上运行所有功能。如果将dfs.name.default指定为在s3(或s3n)上,则中间结果会出现。为什么要这样做?s3的延迟比hdfs大得多,中间数据可以有效地一次性使用,因为我需要集群的自动伸缩(向上和向下)。对于HDFS,这是行不通的。我使用s3,因为我们在本地集群上有很多数据,但没有足够的存储空间。您如何发现延迟受到的影响?我很惊讶地听到,如果HDFS有太多的中间数据,那么它甚至可以用于S3。我已经能够在S3上运行所有东西。如果将dfs.name.default指定为在s3(或s3n)上,则中间结果会出现。为什么要这样做?s3的延迟比hdfs大得多,中间数据可以有效地一次性使用,因为我需要集群的自动伸缩(向上和向下)。对于HDFS,这是行不通的。我使用s3,因为我们在本地集群上有很多数据,但没有足够的存储空间。您如何发现延迟受到的影响?我很惊讶地听到,如果你有太多的HDFS中间数据,它甚至可以用于S3。你能共享配置吗?这对我不起作用。它的显示方式类似于
ls:Permission denied:s3n://vhdsamrat/user/root
您可以共享配置吗?这对我不起作用。它的显示方式类似于ls:Permission denied:s3n://vhdsamrat/user/root
这会使中间数据也保存到S3吗?有没有办法将中间数据保持在本地?这会不会使中间数据也保存到S3?有没有办法将中间数据保持在本地?