hadoop - 删除 DataNode 目录时的 HDFS 行为

标签 hadoop hdfs

我设置了一个 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 来 self 的一个 Hadoop 节点? HDFS 是否会重新平衡并重新复制此分区上的数据? other 节点上的 /mnt/datadisk3 分区是否仍然可用?

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

最佳答案

  • 如果去掉或者不提

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

    他们不会与datadisk3有任何联系,所以datadisk3数据不再可用。

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

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

关于hadoop - 删除 DataNode 目录时的 HDFS 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47184656/

相关文章:

linux - CentOS安装jdk时出错

hadoop pig 包减法

hadoop - HDFS 存储数据的位置

ubuntu - jobtracker 和 tasktracker 打不开

hadoop - 在Hadoop中,复制因子和集群中的节点数之间有什么关系?

hadoop - 在 Hadoop 中,如何验证我是否对 DFS 传输进行了数据加密?

hadoop - 无法创建 HDFS admin super 用户

python - 带有 HBase 的 flask

Kotlin 中的 Hadoop 上下文类型参数

hadoop - 通过hadoop FileSystem api访问Azure存储模拟器