任何人都可以详细解释这个命令的用法吗?
hdfs balancer [-source [-f <hosts-file> | <comma-separated list of hosts>]]
我的群集中的问题是我的一个datanode正在使用其容量的93%的块池,其余的使用<80%。
答案 0 :(得分:0)
来自HortonWorks文档:
新的-source选项允许指定源数据节点列表,以便Balancer选择仅从这些数据节点移动的块。当列表为空时,可以选择所有数据节点作为源。默认值为空列表。
该选项可用于释放群集中某些特定数据节点的空间。如果没有-source选项,在某些情况下Balancer可能效率低下。以下是一个例子。
Datanodes (with the same capacity) Utilization Rack
D1 95% A
D2 30% B
D3, D4, D5 0% B
在上表中,平均利用率为25%,因此D2在10%阈值范围内。没有必要从D2移动任何块或向D2移动任何块。在没有指定源节点的情况下,Balancer首先将块从D2移动到D3,D4和D5,因为它们位于同一个机架下,然后将块从D1移动到D3,D4和D5。通过将D1指定为源节点,Balancer直接将块从D1移动到D3,D4和D5。
这是HDFS Balancer的第二篇文章。我们将在下一篇文章中解释Balancer部署的用于平衡集群的算法。