【问题标题】:HDFS behavior when removing a DataNode directory删除 DataNode 目录时的 HDFS 行为
【发布时间】:2017-11-08 16:20:34
【问题描述】:

我设置了一个 Hadoop 集群 (HDP 2.6),其中包含 3 个节点,每个节点上都有以下 HDFS 挂载点。

  • /mnt/datadisk1
  • /mnt/datadisk2
  • /mnt/datadisk3

所以,我的/etc/fstab 文件在三个节点中的每一个上都如下所示:

/dev/mapper/centos-home /home                   xfs     defaults        0 0
...
# Here the HDFS Partitions:
/dev/sdb                /mnt/datadisk1          xfs     defaults        0 0
/dev/sdc                /mnt/datadisk2          xfs     defaults        0 0
/dev/sdd                /mnt/datadisk3          xfs     defaults        0 0

路径也在 HDFS 配置 (Ambari) dfs.datanode.data.dir = /mnt/datadisk1,/mnt/datadisk2,/mnt/datadisk3 中设置。

我现在的问题是:如果我删除例如/mnt/datadisk3 来自我的 一个 Hadoop 节点?是否会重新平衡 HDFS 并重新复制此分区上的数据? 其他节点上的/mnt/datadisk3分区是否仍然可用?

每个分区的大小约为 1 TB。之后我的 HDFS 是否会有 3*1TB + 3*1TB + 2*1TB = 8TB 或者可能只有 2*1TB + 2*1TB + 2*1TB = 6TB(因为所有 datadisk3 分区都会从 HDFS 中删除)?

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:
    • 如果去掉或者不提路径

      dfs.datanode.data.dir =/mnt/datadisk1,/mnt/datadisk2,/mnt/datadisk3
      
      dfs.datanode.data.dir = /mnt/datadisk1,/mnt/datadisk2
      

      它们不会与 datadisk3 建立任何联系,因此 datadisk3 数据不再可用。

    • 是的,HDFS 将重新平衡各个分区上的数据并将其复制到其他块(基于您的复制因子)。

    • 不,你不能使用存储在datadisk3中的数据(如果你使用调试和退役的方法,那么只有你可以重复使用数据)

    【讨论】:

      【解决方案2】:

      如果您有 3 个节点并且您删除了一个。这意味着剩下 2 个节点,每个节点包含相同的数据,因为复制因子为 2,但您的数据将在那里,但只有两个副本

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-04
        • 2020-07-19
        • 2019-12-15
        • 1970-01-01
        相关资源
        最近更新 更多