请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

启动HDFS后,有NameNode、SecondaryNameNode,无DataNode。

问题:
验证HDFS是否启动成功,输入jps后
有NameNode、SecondaryNameNode,无DataNode。


查到的原因:
进入目录/home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs
输入:cat /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/hadoop-hadoop-datanode-hadoop000.log
查看日志,寻找原因:
java.net.BindException: Port in use: localhost:0
Caused by: java.net.BindException: Cannot assign requested address


尝试的办法一:(运行后无效)
删除/home/hadoop/app下的tmp文件,再次执行初始化HDFS,再启动HDFS。


尝试的办法二:(运行后无效)
在目录下/home/hadoop/app/hadoop-2.6.0-cdh5.15.1/etc/hadoop
在hdfs-site.xml 中添加:

<property>
    <name>dfs.datanode.address</name>
    <value>0.0.0.0:50010</value>
</property>

再启动HDFS。

正在回答 回答被采纳积分+3

插入代码

3回答

Michael_PK 2021-06-24 11:11:16

参考:https://www.cnblogs.com/shireenlee4testing/p/10717110.html

0 回复 有任何疑惑可以回复我~
  • 提问者 酱汁怪兽 #1
    您好,/home/hadoop/app/hadoop-2.6.0-cdh5.15.1/etc目录下,是没有hosts文件的
    回复 有任何疑惑可以回复我~ 2021-06-24 11:16:29
  • 提问者 酱汁怪兽 #2
    谢谢您,解决了~
    回复 有任何疑惑可以回复我~ 2021-06-24 14:06:10
提问者 酱汁怪兽 2021-06-23 17:13:17

问题补充描述:

网上有一种解释是:

一般由于多次格式化NameNode导致。在配置文件中保存的是第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的id不一致。

需要:

1、在dfs/name目录下找到一个current/VERSION文件,记录clusterID并复制

2、然后dfs/data目录下找到一个current/VERSION文件,将其中clustreID的值替换成刚刚复制的clusterID的值即可


问题出在:/home/hadoop/app/tmp/dfs/data里面是空的。


0 回复 有任何疑惑可以回复我~
提问者 酱汁怪兽 2021-06-23 17:01:27

日志补充:

https://img1.sycdn.imooc.com//szimg/60d2f858092eca4f13920934.jpg

https://img1.sycdn.imooc.com//szimg/60d2f85e098b203113961034.jpg


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号