datanode不显示问题

寻求帮助
可怜可怜我,帮帮忙吧
自己用三台虚拟机搭建的Hadoop,live datanode只有一个;
看图

img

img

但是我启动的时候是正常的启动,ssh配置也是通的:
master:

img

slave1:

img


slave2:

img

clusterID一致,就是不知道问题出在哪了。

生怕问得不够清楚:再附上hdfs-site.xml配置:

img

去看下datanode的日志 既然都起来了 却不能与namenode交互 日志里应该有相应的错误信息

live nodes点进去看看

首先关闭集群
所有节点上把这个 /usr/local/hadoop/dfs 目录删掉
然后重新格式化一下namenode: hdfs namenode -format
重新启动集群

试一下这个!

检查两个slave的日志看看,你jps看到的状态只是在运行但是不一定正常,也许在不停的重试最后超时挂掉

1.运行jps后未显示datenode

未显示datanode的原因一般都是多次格式化HDFS的原因:即多次执行 hdfs namenode -format 的结果。多次格式化会使得name和date下的clusterID不一样。因为每次格式化后name下的clusterID都会被改变,但是data下的clusterID只会在第一次格式化的时候生成,再次格式化的时候其值不会改变。

解决方法:先检查以下两个clusterID是否相同。
cat /usr/local/hdfs/dfs/name/current/VERSION
cat /usr/local/hdfs/dfs/data/current/VERSION
执行jps后,如果没有datanode则这两者的clusterID是不一样的。接下来,需要将data下的clusterID改成name下的clusterID。
修改方法如下:打开此文件,使用命令:
vi /usr/local/hdfs/dfs/data/current/VERSION
打开后点击“i”进入编辑模式,将data下的clusterID修改成与name下的clusterID一样,点击“esc -> :wq”保存并退出。此时先使用stop-all.sh停止所有服务,在重新启动服务 start-all.sh,可以看到datanode出现。

原因

可能是防火墙端口未开放导致的


解决方法

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

问题:

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

sudo ufw status verbose

命令的输出

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

解决方案:

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

sudo ufw disable

在禁用防火墙之前,telnet <my_ip_1> 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 地址。一切都很顺利。

另外
如果ufw禁用后还不起作用,
尝试下面:

但是“ufw”没有帮助。我需要执行这些命令:

sudo iptables -L -v
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

参考链接:


hdfs - Hadoop 3.1.1 showing only one live datanode - Stack Overflow https://stackoverflow.com/questions/53903388/hadoop-3-1-1-showing-only-one-live-datanode


如有问题及时沟通