2017-08-28 79 views
0

在我的3台机器群集上,Hadoop版本2.7.3,数据节点利用率变得相当不平衡,所以我试图使用hdfs balancer来解决问题。但平衡器什么都不做。每一个迭代是这样的(请注意,我已经隐藏节点的实际IP地址):HDFS平衡器迭代全部空闲

2017年8月28日下午十二时12分50秒8 0 B 289.99 GB 10 GB

17/08/28 12时12分59秒INFO net.NetworkTopology:添加新节点:/默认机架/ [Datanode1Addr]:50010

17/08/28 12时12分59秒INFO net.NetworkTopology:添加新节点:/ default-rack/[Datanode2Addr]:50010

17/08/28 12:12:59 INFO net.NetworkTopology:添加一个新节点:/ default-rack/[Datanode3Addr]:5001 0

17/08/28 12时12分59秒INFO balancer.Balancer:2过度使用:[[Datanode1Addr]:50010:DISK,[Datanode3Addr]:50010:DISK]

17/08/28 12:12:59 INFO balancer.Balancer:1未充分利用:[[Datanode2Addr]:50010:DISK]

17/08/28 12:12:59 INFO balancer.Balancer:需要移动289.99 GB才能使集群平衡。

17/08/28 12点12分59秒INFO balancer.Balancer:决定从[Datanode1Addr]移动10个GB字节:50010:DISK为[Datanode2Addr]:50010:DISK

17/08/28 12:12:59 INFO balancer.Balancer:将在此迭代中移动10 GB

...没有数据移动。

任何想法?

+0

您的复制因子设置为? – tk421

+0

它设置为3: dfs.replication AntsySysHack

回答

0

如果群集中的复制因子为3,且只有3个节点,则HDFS平衡器无法迁移数据,因为您必须维护3个数据副本,并且HDFS不会在同一节点上复制数据。

+0

谢谢!具有完美意义,我已将复制因子更改为2,并带来积极结果 – AntsySysHack