Datanode 已启动但未显示在 dfsadmin -report 中

Datanode started but not shown in dfsadmin -report

我正在尝试将 Hadoop 3.1.0 安装到两个虚拟机中:

第一台机器包含一个名称节点和一个数据节点,第二台机器包含一个数据节点。

我关注了这篇文章Install Hadoop 3.0.0 multi-node cluster on Ubuntu。一切顺利,直到我执行了 start-dfs.sh 和 start-yarn.sh 命令。

当我 运行 在名称节点上执行 Jps 命令时,它显示以下结果:

16488 NameNode  
16622 DataNode  
17215 NodeManager  
17087 ResourceManager  
17530 Jps  
16829 SecondaryNameNode

当我在数据节点上 运行 它显示:

2306 DataNode
2479 NodeManager
2581 Jps

但奇怪的是,执行hdfs dfsadmin -report命令时只显示Live datanodes (1),这是本地datanode。

我进行了很多搜索;我没有找到任何有用的东西。

我试过:

  1. 执行stop-all.sh
  2. 删除Namenode和datanode目录下的所有文件
  3. 删除临时目录中的所有hadoop相关文件
  4. 执行了hdfs namenode -format命令

这里有一个类似的问题: 他们建议更改主机名。在我的 Namenode /etc/hosts 文件中包含以下几行:

127.0.0.1   localhost
127.0.1.1   hadoop-Namenode
192.168.75.131  hadoop-Namenode
192.168.75.132  hadoop-datanode-1

在 Datanode /etc/hosts 我有:

127.0.0.1   localhost
127.0.1.1   hadoop-datanode-1
192.168.75.131  hadoop-Namenode
192.168.75.132  hadoop-datanode-1

有什么建议吗?

通过从两台机器上删除 127.0.1.1 行解决了这个问题

127.0.1.1   hadoop-Namenode
127.0.1.1   hadoop-datanode-1

这些行在尝试解析主机名时引起了冲突。