Hadoop dfs复制

时间:2012-10-11 08:34:52

标签: hadoop hdfs

对不起家伙,只是一个简单的问题,但我无法在谷歌上找到确切的问题。 关于什么是dfs.replication的问题是什么意思?如果我在hdfs中创建了一个名为filmdata.txt的文件,如果我设置了dfs.replication = 1,那么它是完全一个文件(一个是filmdata.txt)吗?还是主文件(filmdata.txt)hadoop会创建另一个复制文件。 不久之后说:如果设置dfs.replication = 1,总共有一个filmdata.txt,或者两个filmdata.txt? 在此先感谢

4 个答案:

答案 0 :(得分:10)

文件系统中的文件总数将是dfs.replication因子中指定的数量。因此,如果你设置dfs.replication = 1,那么文件系统中只有一个文件副本。

检查Apache Documentation以获取其他配置参数。

答案 1 :(得分:5)

为确保数据的高可用性,Hadoop会复制数据。

当我们将文件存储到HDFS中时,hadoop框架将文件拆分为一组块(64 MB或128 MB),然后这些块将在集群节点上进行复制。配置dfs.replication是指定多少块需要复制。

dfs.replication的默认值为3,但这是可配置的,具体取决于您的群集设置。

希望这有帮助。

答案 2 :(得分:1)

Praveen提供的链接现已破裂。 以下是描述参数dfs.replication的更新链接。

参考Hadoop Cluster Setup。有关配置参数的更多信息。

您可能需要注意,文件可以跨越多个块,并且每个块将被复制dfs.replication中指定的次数(默认值为3)。这些块的大小在参数dfs.block.size。

中指定

答案 3 :(得分:0)

在HDFS框架中,我们使用商用机器来存储数据,这些商用机器不是高端机器,如具有高RAM的服务器,将有可能丢失数据节点(d1,d2,d3)或块(b1,b2,b3),结果HDFS框架将每个数据块(64MB,128MB)分成三个复制(默认),每个块将存储在一个单独的数据节点(d1,d2, D3)。现在考虑块(b1)在数据节点(d1)中被破坏,块(b1)的副本在数据节点(d2)和数据节点(d3)中也可用,以便客户端可以请求数据节点(d2) )处理块(b1)数据并提供结果,就像数据节点(d2)失败一样,客户端可以请求数据节点(d3)处理块(b1)数据。这称为-dfs.replication mean。

希望你有一些清晰度。