【问题标题】:Hadoop cluster showing only 1 live datanodeHadoop 集群仅显示 1 个活动数据节点
【发布时间】:2015-08-25 13:17:34
【问题描述】:

我正在尝试配置一个 3 节点的 Apache Hadoop 集群。我已经在 docker 环境中完成了它,并且在那里一切正常。现在,我正在尝试迁移到 Open Nebula 环境。我有 3 个带有 Ubuntu 和 Hadoop 的虚拟机。当我使用 ./sbin/start-dfs.sh 启动 hadoop 时,Hadoop 在所有从属服务器上打开了数据节点,到目前为止一切看起来都很好。但如果我使用“./bin/hdfs dfsadmin -report”,它只会显示 1 个实时数据节点。看看下面的

这是我的主人上 JPS 命令的结果:

Slave 上的 JPS 命令:

我还可以通过 SSH 连接所有机器。我的猜测是我的主机文件有问题,因为我的奴隶无法到达主人。这是我的主人 /etc/hosts。

<my_ip_1> master
<my_ip_2> slave-1
<my_ip_3> slave-2

127.0.0.1       localhost

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

我没有修改我的 /etc/hostname 文件,但它看起来像这样。其中“my_ip_1”代表VM的当前IP。

<my_ip_1>.cloud.<domain>.de

此外,如果我使用命令运行 hadoop PI 示例

./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar pi 100 10000000

我在 slave-1 和 slave-2 日志文件中收到以下错误。但是主节点自己解决了PI问题。

2015-08-25 15:27:03,249 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/<my_ip_1>:54310. Already tried 10 time(s); maxRetries=45
2015-08-25 15:27:23,270 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/<my_ip_1>:54310. Already tried 11 time(s); maxRetries=45
2015-08-25 15:27:43,290 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/<my_ip_1>:54310. Already tried 12 time(s); maxRetries=45

我已经试过了:http://www.quora.com/The-master-node-shows-only-one-live-data-node-when-I-am-running-multi-node-cluster-in-Hadoop-What-should-I-do

【问题讨论】:

    标签: hadoop ip cluster-computing hosts opennebula


    【解决方案1】:

    好的,我设法找出了问题并找到了解决方法。

    问题:

    我的从节点没有与主节点通信。因此,我使用以下命令检查了我的机器(Ubuntu)上的防火墙设置

    sudo ufw status verbose
    

    命令的输出

    Status: active
    Logging: on (low)
    Default: deny (incoming), allow (outgoing), disabled (routed)
    New profiles: skip
    

    解决方案:

    所以,我的机器拒绝了任何传入的请求。所以,我禁用了我的防火墙来验证这个假设。

    sudo ufw disable
    

    在禁用防火墙之前,telnet &lt;my_ip_1&gt; 54310 给了我连接超时。但是禁用防火墙后,它工作正常。然后我禁用了所有机器上的防火墙并再次运行 hadoop 的 PI 示例。它奏效了。

    然后我重新启用了所有机器上的防火墙

    sudo ufw enable
    

    我还为来自我自己 IP 地址的传入请求添加了一些防火墙规则,例如

    sudo ufw allow from XXX.XXX.XXX.XXX
    

    或者,如果您想允许 IP 范围为 0-255,那么

    sudo ufw allow from XXX.XXX.XXX.0/24
    

    因为,我有 3 台机器。因此,对于每台机器,我添加了其他 2 台机器的 IP 地址。一切顺利。

    【讨论】:

      猜你喜欢
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多