如何在不重新启动 Hadoop 服务的情况下清除"Reserved Space for Replicas"



如何找到为什么">副本保留空间"不断增加以及如何限制此类缓存的空间?我们发现">副本的保留空间"超过了非 DFS 已用空间(上个月(。但我们没有找到原因:(

我们知道如何计算"非 DFS">

,但">副本保留空间"显示的空间大小与"非 DFS"实际占用的空间大小不对应。例如,我们有 6 TB 的卷:

  1. ">DFS 已使用"需要 4 TB
  2. 卷上的">可用空间"为 2 TB(此信息通过">df -h"获取(
  3. ">非 DFS"需要 2 TB(为什么???如果">df -h"显示我们有 2 TB 可用容量 空间(

目前要释放为此类缓存分配的空间("副本保留空间"(,我们需要重新启动数据节点服务。但我们认为这不是解决方案!

我们使用HDP v3.0.1,HDFSv3.1,OracleJDK 8u181

对于面临此类问题的人。首先,您应该了解问题的本质。为此,请阅读以下问题的说明:

  • https://issues.apache.org/jira/browse/HDFS-8072
  • https://issues.apache.org/jira/browse/HDFS-9530
  • https://issues.apache.org/jira/browse/HDFS-6489

以下链接将有助于了解什么是块副本:

  • https://blog.cloudera.com/understanding-hdfs-recovery-processes-part-1/
  • https://blog.cloudera.com/understanding-hdfs-recovery-processes-part-2/

解决 方案

  1. 查找错误的软件,这些软件在写入或追加过程中经常断开与Hadoop的连接
  2. 尝试更改复制策略(有风险(
  3. 将 Hadoop 更新到最新版本

如果不重新启动 Hadoop 服务,则无法重置"副本保留空间"!

最新更新