启动HDFS时jps查看不到namenode

这里写自定义目录标题

  • 问题描述
  • 解决办法
  • 总结

问题描述

使用命令 start-dfs.sh启动集群,然后使用jps查看进程时发现没有namenode,SecondaryNameNode、和DataNode正常启动,其他集群的DataNode也是正常启动。
然后去/export/server/hadoop-3.3.4/logs查找日志文件,发现日志中的错误信息为:

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文件存在异常。

解决办法

  1. 关闭集群,命令: stop-all.sh
  2. 找到数据存储的位置:
    1.1. 找到hadoop安装目录下的/etc/hadoop/hdfs-site.xml文件
    1.2. 查看里面 dfs.namenode.name.dir 下的值,这个值就是自己hdfs中namenode数据的存储位置了
  3. 打开current文件夹,删除其中以fsimage开头的大小为0的文件
  4. 重新启动集群,再输入jps。这个时候就可以看到namenode启动了

总结

  1. 启动服务遇到问题不要慌,先查看日志文件
  2. 根据日志文件中的信息来对症下药,如果日志文件内容较多可以使用tail -显示的行数 文件 来指定显示末尾多少行。

你可能感兴趣的:(hdfs,hadoop,大数据)