1
2
使现代化 一年半后,我找到了问题的真正根源。
原因是我
多个目录
在中列出
这给我带来了问题,因为在第一组机器中,有4个HDFS目录分配给3个分区,每个分区约1.8T(因此,其中只有一个被考虑了两次),而第二组有4个HDFS目录分配给1个分区约5.4TB(因此乘以4!)。 最终,问题是机器的异构分区配置+HDF的一些低级细节没有正确记录的结果。 我最终在Cloudera中创建了两组HDFS目录配置:一组用于第一组机器(有3个目录,每个分区一个),另一组用于第二组(唯一分区中有一个目录)。由于涉及数据重新平衡,请小心此操作。 原始答案
经过一些研究,这个问题似乎是在集群使用新资源(即新磁盘或新节点)更新时发生的,当HDFS使用所有相关数据节点的总容量更新相关数据节点的配置容量时(即,当我们升级前7个节点的磁盘时,每个节点的容量成为集群的总容量;当我们再添加4个节点时,每个新节点的容量成为新节点的总容量)。这可能是因为Cloudera经理吗?可能(这是我的猜测),但我没有证据。
我阅读了Hadoop的Java代码,以了解节点配置容量的值是从何处获取的,它似乎来自Namenode的名称空间映像(这是一个二进制文件,而且,它是不可编辑的)。 我最终做的是停用不平衡的节点(这触发了在其余节点上复制其块),删除此类节点上的HDFS数据,重新调试它并重新平衡数据。这不是我一直在寻找的解决方案,但至少它让我的数据得到了正确的重新平衡。 |
Nk.Pl · 为Kafka主题创建配置单元表生成器 6 年前 |
Enrico Gallinucci · HDFS配置的容量高于磁盘容量 6 年前 |
Omid · 计算fat 32和HDFS的最大体积大小 6 年前 |
dlamblin · Hadoop HDFS就地压缩 7 年前 |
user2007861 · 在HDFS文件夹中查找旧文件 7 年前 |
osk · 加载a。Scala中HDFS的csv文件 7 年前 |