为什么在 Web UI 上显示的 Hadoop 中数据节点的已用存储会随着时间的推移而波动?

Why used storage of datanodes in Hadoop showed on Web UI fluctuates over time?

今天我将数据加载到我的 Hadoop 集群中,我注意到 Web 上显示的 Hadoop 中数据节点的已用存储量 UI (http://hadoopmaster:50070/dfshealth.html#tab-datanode) 随时间波动。这意味着,即使数据不断加载到集群中,但 Web 上的 'Used' 列 UI 有时会急剧增加,有时会急剧下降。

为什么会这样?

  1. 复制因子 > 1 的文件不会立即复制,需要一段时间才能建立目标复制。
  2. 随着处理的进行,您可能会暂时得到许多较小的文件。但是,即使文件内容很小,它们仍然可能会占用大量 space 到设置的块大小。块大小通常设置为相当高的值,给较小的文件带来更多的开销。随着这些较小的文件得到清理,您会看到使用量急剧下降。
  3. 块池可能会缩小,因为它长时间未使用。同样,块的大小可能非常大。