一:启动Hadoop报如下错误:
2021-08-04 10:05:28,443 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-root/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:327)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:215)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:975)
问题分析:
1.Linux系统在每次重启后,hadoop不能正藏启动namenode,需要格式化之后才能再次启动
2.初步认定为namenode格式化问题
3.可能引发这样问题的原因是hadoop的默认格式化路径在/tmp下,但是这个目录每次重启的时候都会被清空,导致namenode格式化出错,而且多次格式化后,也可能回引起hadoop集群的问题。所以必须解决这个问题。
处理方法:
修改hadoop下的core-site.xml
<!-- hadoop的内部的数据或者元数据真实的存放路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/apps/hadoop-2.8.1/hdpdata</value>
</property>
修改好之后,手动格式化namenode
hdfs namenode -format