Hadoop集群仅显示1个活动数据节点

Hadoop集群仅显示1个活动数据节点,hadoop,ip,cluster-computing,hosts,opennebula,Hadoop,Ip,Cluster Computing,Hosts,Opennebula,我正在尝试配置一个3节点ApacheHadoop集群。我已经在docker环境下做过了,那里一切都很好。现在,我正试图进入开放星云环境。我有3个带有Ubuntu和Hadoop的虚拟机。当我使用./sbin/start-dfs.sh启动hadoop时,hadoop会打开所有从机上的数据节点,直到现在一切都正常。但是如果我使用“/bin/hdfs dfsadmin-report”,它只显示1个活动数据节点。查看以下内容 以下是在我的主机上执行JPS命令的结果: 从机上的JPS命令: 我也能够S

我正在尝试配置一个3节点ApacheHadoop集群。我已经在docker环境下做过了,那里一切都很好。现在,我正试图进入开放星云环境。我有3个带有Ubuntu和Hadoop的虚拟机。当我使用./sbin/start-dfs.sh启动hadoop时,hadoop会打开所有从机上的数据节点,直到现在一切都正常。但是如果我使用“/bin/hdfs dfsadmin-report”,它只显示1个活动数据节点。查看以下内容

以下是在我的主机上执行JPS命令的结果:

从机上的JPS命令:

我也能够SSH所有的机器。我的猜测是我的主机文件有问题,因为我的从属文件无法到达主文件。这是我的主人/etc/主持人

<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
我在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
2015-08-25 15:27:03249 INFO org.apache.hadoop.ipc.Client:正在重试连接到服务器:master/:54310。已试过10次;maxRetries=45
2015-08-25 15:27:23270 INFO org.apache.hadoop.ipc.Client:正在重试连接到服务器:master/:54310。已试过11次;maxRetries=45
2015-08-25 15:27:43290 INFO org.apache.hadoop.ipc.Client:正在重试连接到服务器:master/:54310。已试过12次;maxRetries=45

我已经试过了:

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

问题:

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

sudo ufw status verbose
命令的输出

./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar pi 100 10000000
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
解决方案:

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

sudo ufw disable
在禁用防火墙之前,
telnet 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台机器。因此,对于每台机器,我添加了其他两台机器的IP地址。一切正常。

好的,我设法解决了问题并找到了解决办法

问题:

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

sudo ufw status verbose
命令的输出

./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar pi 100 10000000
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
解决方案:

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

sudo ufw disable
在禁用防火墙之前,
telnet 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台机器。因此,对于每台机器,我添加了其他两台机器的IP地址。一切都很顺利