如何从网关计算机运行hadoop群集平衡器?

如何从网关计算机运行hadoop群集平衡器?,hadoop,hdfs,Hadoop,Hdfs,我已经编写了一个脚本来检查Hadoop块报告,如果需要,它将运行Hadoop balancer。我读到了,看起来我们需要在单独的机器上运行HDFS平衡器,这样它就不会重载名称节点 如果我的理解正确与否,请纠正我 现在我已经安装了一个单独的节点并在其上安装了Hadoop,但这台机器不是集群的一部分。数据节点或任务跟踪器守护进程未在此计算机上运行 在这台机器上运行hadoop balancer命令时,我只得到以下输出: $ hadoop balancer Balancing took 135.0 m

我已经编写了一个脚本来检查Hadoop块报告,如果需要,它将运行Hadoop balancer。我读到了,看起来我们需要在单独的机器上运行HDFS平衡器,这样它就不会重载名称节点

如果我的理解正确与否,请纠正我

现在我已经安装了一个单独的节点并在其上安装了Hadoop,但这台机器不是集群的一部分。数据节点或任务跟踪器守护进程未在此计算机上运行

在这台机器上运行hadoop balancer命令时,我只得到以下输出:

$ hadoop balancer
Balancing took 135.0 milliseconds
$
ubuntu@master:~$ hadoop balancer
Time Stamp               Iteration#  Bytes Already Moved  Bytes Left To Move  Bytes Being Moved
14/11/19 06:14:03 INFO net.NetworkTopology: Adding a new node: /default-rack/20.232.273.15:50010
14/11/19 06:14:03 INFO net.NetworkTopology: Adding a new node: /default-rack/20.294.195.28:50010
14/11/19 06:14:03 INFO balancer.Balancer: 0 over utilized nodes:
14/11/19 06:14:03 INFO balancer.Balancer: 0 under utilized nodes:
The cluster is balanced. Exiting...
Balancing took 477.0 milliseconds
我试图直接执行start-balancer.sh脚本,但得到了类似的输出。唯一的变化是该脚本在其.out文件中写入这一行

在名称节点上执行hadoop balancer命令时,我得到以下输出:

$ hadoop balancer
Balancing took 135.0 milliseconds
$
ubuntu@master:~$ hadoop balancer
Time Stamp               Iteration#  Bytes Already Moved  Bytes Left To Move  Bytes Being Moved
14/11/19 06:14:03 INFO net.NetworkTopology: Adding a new node: /default-rack/20.232.273.15:50010
14/11/19 06:14:03 INFO net.NetworkTopology: Adding a new node: /default-rack/20.294.195.28:50010
14/11/19 06:14:03 INFO balancer.Balancer: 0 over utilized nodes:
14/11/19 06:14:03 INFO balancer.Balancer: 0 under utilized nodes:
The cluster is balanced. Exiting...
Balancing took 477.0 milliseconds

从这个输出来看,平衡器似乎只在namenode上运行。所以我的问题是,我们是否总是只需要在名称节点上运行平衡器?或者我们是否需要进行一些配置以使此平衡器在网关计算机上运行?

检查集群是否平衡的最佳方法是访问namenode web UI或转到hadoop dfsadmin-report以获取最新统计信息。不要跟着时间走,也不要登录控制台。此外,在namenode上运行平衡器并不是最佳做法,它应该从客户端节点运行