在我的3机群集Hadoop 2.7.3版本中,数据节点利用率变得非常不平衡,因此我尝试使用hdfs balancer
来解决问题。但是平衡器什么都不做。每次迭代都是这样的(注意我隐藏了节点的实际IP地址):
2017年8月28日12:12:50 PM 8 0 B 289.99 GB 10 GB
17/08/28 12:12:59 INFO net.NetworkTopology:添加新节点:/ default-rack / [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]:50010
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 :(得分:0)
如果群集中的复制因子为3且只有3个节点,则HDFS Balancer无法迁移数据,因为您必须维护3个数据副本,而HDFS不会在同一节点上复制数据。