1、问题
重启hadoop时,控制台正常打印日志,但是jps显示无namenode进程,查询namenode日志,日志在:HADOOP_HOME/logs/ 目录下,报如下错误:
2019-02-19 19:55:34,840 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-hadoop/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:314)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:202)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1063)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:767)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:609)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:670)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:838)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:817)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1538)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1606)
2019-02-19 19:55:34,846 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1
2、分析:
错误信息提示说,/tmp/hadoop-hadoop/dfs/存储数据的目录不存在或目录不可访问,这是想起来了之前/tmp文件目录被我清空了。
3、解决方法:重新格式化文件系统
HADOOP_HOME/sbin/stop-all.sh #先停止hadoop相关进程
HADOOP_HOME/bin/hdfs namenode -format #重新格式化文件系统,因为之前的文件系统被误删除了
HADOOP_HOME/sbin/start-all.sh #重启hadoop,此时hadoop的相关进程正常启动