关闭hadoop时报no namenode to stop,namenode无法启动,50070页面无法访问问题,InconsistentFSStateException

问题描述

经过配置core-site.xml和hdfs-site.xml,格式化配置文件,启动hadoop集群后,使用jps命令查看启动的jvm进程时发现没有namenode
在这里插入图片描述
此时再用stop命令停止hdfs,会发现关闭namenode时提醒no namenode to stop
与此同时,50070页面也无法访问

大致分析问题

综上情况,可以判断namenode并没有成功启动,那么问题出在哪呢?
1)检查配置文件
2)若无误,最好的方法不是上网搜,而是找到日志文件,查看日志文件来发现问题所在

细致分析

1)找到日志文件
日志文件在hadoop目录下logs文件中
2)找到namenode的日志信息
查看信息如下
在这里插入图片描述
需要关注三个点:
1)failed to start namenode
说明namenode启动失败
2)exiting with status 1
程序运行出现了异常 status为0时才是成功
3)重点 storage directory does not exist or is not accessible
存储namenode的文件夹不存在,或者无法打开
这时可以去hdfs-site中设置的namenode dir文件存储位置查看是否存在指定文件夹。
我的是不存在,datanode的存在。
综上,可以把问题定为namenode格式化操作出了问题,导致namenode相关文件部署失败,才会报directory does not exist的异常

终于。。问题解决!

查阅资料,才知道namenode格式化的那句命令必须在hadoop的bin目录下执行,在其他地方执行不顶用。
重新运行
在这里插入图片描述
可以看到程序给出信息
在这里插入图片描述
这次是successfuly formatted,再次证明是format命令出的错

这时再开启hadoop集群,然后再使用jps命令
在这里插入图片描述
终于有了!忙了一下午(捂脸.jpg)
这时50070页面也可以正常访问了

总结与反思

1)学会查看日志文件,分析日志文件。比一出错就看盲目看几百篇文章有用。因为别人的问题,不一定就是自己的。况且别人也是靠分析日志文件解决的问题
2)学会看命令运行的结果
实际上,在第一次执行namenode的format命令时,程序给出的运行结果指出了错误代码和错误原因,但是我只注意到了最后一行namenode shut down以为执行成功了,然鹅并没有

ps:感谢我一直没放弃,坚持找问题,分析问题,最后解决问题。虽然耗时有亿点点长~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值