【问题标题】:Hadoop dfs replicateHadoop dfs 复制
【发布时间】:2012-10-11 08:34:51
【问题描述】:

对不起,伙计们,只是一个简单的问题,但我在谷歌上找不到确切的问题。 关于 dfs.replication 是什么意思的问题?如果我在hdfs中创建了一个名为filmdata.txt的文件,如果我设置dfs.replication = 1,那么它是否完全是一个文件(一个filmdata.txt)?或者除了主文件(filmdata.txt)之外,hadoop将创建另一个复制文件. 简而言之:如果设置dfs.replication=1,一共有一个filmdata.txt,还是两个filmdata.txt? 提前致谢

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      希望这会有所帮助。

      【讨论】:

        【解决方案3】:

        Praveen 提供的链接现已损坏。 这是描述参数dfs.replication的更新链接。

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

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

        【讨论】:

          【解决方案4】:

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

          希望你能明白一点。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-11-18
            • 2010-11-18
            • 1970-01-01
            • 2011-06-14
            • 1970-01-01
            • 1970-01-01
            • 2014-12-28
            • 1970-01-01
            相关资源
            最近更新 更多