HDFS不会复制块

时间:2017-10-19 07:08:42

标签: hadoop hdfs cloudera-cdh

我最近安装了Hadoop(Cloudera)。我在复制块下遇到错误(在Cloudera Manager中,这是安装的gui)。所以当我跑

hdfs dfsadmin -report

我得到了

Configured Capacity: 555730632704 (517.56 GB)
Present Capacity: 524592504832 (488.56 GB)
DFS Remaining: 524592193536 (488.56 GB)
DFS Used: 311296 (304 KB)
DFS Used%: 0.00%
Under replicated blocks: 5
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0

这意味着由于某种原因,我的hdfs不会复制块。从这里查看什么?是否可能是我HDFS Balancer的问题,我需要手动运行它?

1 个答案:

答案 0 :(得分:1)

复制块有两个主要原因:

1。复制因子超出可用数据节点

假设您只有2个数据节点,并且您的复制因子是3,那么您创建的每个块都将保持复制状态,因为没有3个数据节点可以复制到。

解决方案可以是添加数据节点,也可以减少复制因子。

2。群集太忙了

群集将优先考虑真实的'解决块的复制问题。因此,如果您创建了大量的块,可能需要一段时间才能赶上。如果您的群集永久忙,理论上可能总会有一些未复制的块。

请注意,正如您所提到的那样,它是一个新的群集,并且磁盘似乎几乎是空的,我不认为2就是这种情况。

除此之外,当然可能会出现一些问题(比如平衡),但我不担心,直到你确认上述两种情况都可以排除。大多数破坏的东西往往会在这里或那里导致错误,所以假设你没有看到任何不可能出现这种情况。