Hadoop集群仅显示1个活动数据节点
我正在尝试配置一个3节点ApacheHadoop集群。我已经在docker环境下做过了,那里一切都很好。现在,我正试图进入开放星云环境。我有3个带有Ubuntu和Hadoop的虚拟机。当我使用./sbin/start-dfs.sh启动hadoop时,hadoop会打开所有从机上的数据节点,直到现在一切都正常。但是如果我使用“/bin/hdfs dfsadmin-report”,它只显示1个活动数据节点。查看以下内容 以下是在我的主机上执行JPS命令的结果: 从机上的JPS命令: 我也能够SSH所有的机器。我的猜测是我的主机文件有问题,因为我的从属文件无法到达主文件。这是我的主人/etc/主持人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
<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地址。一切都很顺利