问题描述
使用命令 start-dfs.sh启动集群,然后使用jps查看进程时发现没有namenode,SecondaryNameNode、和DataNode正常启动,其他集群的DataNode也是正常启动。
然后去/export/server/hadoop-3.3.4/logs查找日志文件,发现日志中的错误信息为:文章来源:https://www.toymoban.com/news/detail-720787.html
ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
java.io.IOException: Failed to load FSImage file, see error(s) above for more info.
关键字:Failed to load FSImage file,表示FSImage文件存在异常。文章来源地址https://www.toymoban.com/news/detail-720787.html
解决办法
- 关闭集群,命令:
stop-all.sh
- 找到数据存储的位置:
1.1. 找到hadoop安装目录下的/etc/hadoop/hdfs-site.xml
文件
1.2. 查看里面dfs.namenode.name.dir
下的值,这个值就是自己hdfs中namenode数据的存储位置了 - 打开
current
文件夹,删除其中以fsimage
开头的大小为0的文件 - 重新启动集群,再输入jps。这个时候就可以看到namenode启动了
总结
- 启动服务遇到问题不要慌,先查看日志文件
- 根据日志文件中的信息来对症下药,如果日志文件内容较多可以使用
tail -显示的行数 文件
来指定显示末尾多少行。
到了这里,关于启动HDFS时jps查看不到namenode的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!