如何从网关机器运行 hadoop 集群平衡器?
Posted
技术标签:
【中文标题】如何从网关机器运行 hadoop 集群平衡器?【英文标题】:How to run hadoop cluster balancer from gateway machine? 【发布时间】:2014-11-19 06:17:18 【问题描述】:我编写了一个脚本来检查 Hadoop 块报告,如果需要,它会运行 hadoop 平衡器。我读了this article about hdfs balancer design,看起来我们需要在单独的机器上运行 HDFS 平衡器,以免名称节点过载。
如果我的理解正确与否,请纠正我。
现在我已经设置了一个单独的节点并在其上安装了 Hadoop,但是这台机器不是集群的一部分。数据节点或任务跟踪器守护程序未在此计算机上运行。
当我在这台机器上运行hadoop balancer
命令时,我只得到以下输出:
$ hadoop balancer
Balancing took 135.0 milliseconds
$
我尝试直接执行start-balancer.sh
脚本,但我得到了类似的输出。唯一的变化是这个脚本在它的 .out 文件中写入了那一行。
当我在名称节点上执行hadoop balancer
命令时,我得到以下输出:
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
从这个输出看来,平衡器只在名称节点上运行。所以我的问题是我们是否总是只需要在名称节点上运行平衡器?还是我们需要做一些配置才能让这个平衡器在网关机器上运行?
【问题讨论】:
【参考方案1】:检查集群是否平衡的最佳方法是访问 namenode Web UI 或转到 hadoop dfsadmin -report 以获取最新统计信息。不要花费时间或登录控制台。在 namenode 上运行平衡器也不是最佳实践,它应该从客户端节点运行。
【讨论】:
以上是关于如何从网关机器运行 hadoop 集群平衡器?的主要内容,如果未能解决你的问题,请参考以下文章
使用边缘节点运行 Hadoop 集群时如何连接到 Impala