hadoop:需要从所有数据节点中删除一个数据目录

mzsu5hc0  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(375)

我需要从所有hadoop hdfs数据节点回收磁盘空间。它们的配置如下:

<property>
    <name>dfs.data.dir</name>
    <value>/d01,/d02,/d03</value>
</property>

我应该如何从所有节点安全地删除/d03文件系统并重新平衡它们?我尝试过停用一个节点,删除目录,然后重新调试,但是速度非常慢,我想知道是否有更好的方法?

k97glaaz

k97glaaz1#

修复实际上非常简单,并且遵循hdfs的用途。文件系统是容错的复制块的分布式集合。因此,只需从集群中的datanode中删除额外的目录并重新启动就足以导致块的重新同步和复制。
监视namenode日志和webui“未复制的块数”,以确定进程何时完成。
对群集中的所有节点分别重复。
几个注意事项:
确保
通过检查,不存在复制不足的块: http://<name-node>:50070 ,
在其他文件系统中有足够的磁盘空间,
复制级别至少设置为2,以确保集群能够容忍数据块丢失。理想情况下,这应该是三个或更高的安全。

相关问题