hadoop - Datanode 已启动但未显示在 dfsadmin -report 中
问题描述
我正在尝试将 Hadoop 3.1.0 安装到两个虚拟机中:
第一台机器包含一个名称节点和一个数据节点,第二台机器包含一个数据节点。
我按照这篇文章在 Ubuntu 上安装 Hadoop 3.0.0 多节点集群。在我执行 start-dfs.sh 和 start-yarn.sh 命令之前,一切都很好。
当我Jps
在名称节点上运行命令时,它显示以下结果:
16488 NameNode
16622 DataNode
17215 NodeManager
17087 ResourceManager
17530 Jps
16829 SecondaryNameNode
当我在 Data 节点上运行它时,它显示:
2306 DataNode
2479 NodeManager
2581 Jps
但奇怪的是,当执行hdfs dfsadmin -report
命令时,它只显示Live datanodes (1)
哪个是本地数据节点。
我做了很多搜索;我没有发现任何有用的东西。
我试过了:
- 执行
stop-all.sh
- 删除Namenode和datanode目录下的所有文件
- 删除 temp 目录中的所有 hadoop 相关文件
- 执行的
hdfs namenode -format
命令
这里有一个类似的问题:Hadoop UI 只显示一个数据节点,他们建议在其中更改主机名。在我的 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
尝试解析主机名时,这些行导致冲突。
推荐阅读
- spring-amqp - 消息已发布但从未到达代理
- javascript - Hyperstack 中的高阶组件
- git - 无需人工输入即可解决 git 合并冲突
- r - 如果选择了侧边栏菜单项,我如何引入 Google 表格
- javascript - React Native Transforms 以在布局上移动视图
- node.js - 中止等待请求-承诺
- c++ - 如何让方法采用向量
&& 代替向量 ? - security - 我想向员工提供登录链接,但阻止他们查看 url 或复制链接
- php - 如何从下拉列表中获取值并插入 MySQL Workbench?
- c++ - CMake 找不到源文件,即使它位于正确的位置