问题描述

经过配置core-site.xml和hdfs-site.xml,格式化配置文件,启动hadoop集群后,使用jps命令查看启动的jvm进程时发现没有namenode
关闭hadoop时报no namenode to stop,namenode无法启动问题,InconsistentFSStateException
此时再用stop命令停止hdfs,会发现关闭namenode时提醒no namenode to stop

大致分析问题

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

细致分析

1)找到日志文件
日志文件在hadoop目录下logs文件中
2)找到namenode的日志信息
查看信息如下
关闭hadoop时报no namenode to stop,namenode无法启动问题,InconsistentFSStateException
需要关注三个点:
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目录下执行,在其他地方执行不顶用。
重新运行
关闭hadoop时报no namenode to stop,namenode无法启动问题,InconsistentFSStateException
可以看到程序给出信息
关闭hadoop时报no namenode to stop,namenode无法启动问题,InconsistentFSStateException
这次是successfuly formatted,再次证明是format命令出的错

这时再开启hadoop集群,然后再使用jps命令
关闭hadoop时报no namenode to stop,namenode无法启动问题,InconsistentFSStateException
终于有了!忙了一下午(捂脸.jpg)

总结与反思

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

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

相关文章:

  • 2022-12-23
  • 2021-10-17
  • 2021-04-07
  • 2022-12-23
  • 2021-09-27
  • 2022-12-23
  • 2021-06-12
  • 2021-11-22
猜你喜欢
  • 2022-12-23
  • 2021-07-10
  • 2021-10-30
  • 2022-12-23
  • 2021-06-23
相关资源
相似解决方案