Hadoop Balancer参数疑问



任何人都可以精心解释此命令的用法吗?

hdfs balancer  [-source [-f <hosts-file> | <comma-separated list of hosts>]]

我集群中的问题是,我的数据座之一正在利用其容量的93%,其余的是80%。

来自hortonworks文档:

新的-Source选项允许指定源数据列表列表,以便平衡器选择块仅从这些数据码中移动。当列表为空时,所有数据台都可以选择作为源。默认值是一个空列表。

该选项可用于释放群集中某些特定数据模型的空间。如果没有-source选项,在某些情况下,平衡器可能会降低。以下是一个例子。

Datanodes (with the same capacity)  Utilization     Rack
D1  95%     A
D2  30%     B
D3, D4, D5  0%  B

在上表中,平均利用率为25%,因此D2在10%的阈值之内。没有必要将任何块从或向D2移动。在没有指定源节点的情况下,平衡器首先将块从D2移动到D3,D4和D5,因为它们在同一机架下,然后将块从D1移动到D3,D4和D5。通过将D1指定为源节点,平衡器直接将块从D1移动到D3,D4和D5。

这是HDFS Balancer认真的第二篇文章。我们将解释平衡器在下一篇文章中部署的算法以平衡集群。