報錯背景
hadoop集群安裝完成后進行格式化操作,不成功。
報錯現象
# hadoop namenode -format
2020-10-16 15:13:15,741 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered exception loading fsimage java.io.IOException: NameNode is not formatted. at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:235) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:978) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:685) at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:585) at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:645) at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:819) at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:803) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1500) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1566) 2020-10-16 15:13:15,746 INFO org.mortbay.log: Stopped HttpServer2$SelectChannelConnectorWithSafeStartup@bigdata2:50070 2020-10-16 15:13:15,846 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Stopping NameNode metrics system... 2020-10-16 15:13:15,847 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system stopped. 2020-10-16 15:13:15,847 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system shutdown complete. 2020-10-16 15:13:15,847 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode. java.io.IOException: NameNode is not formatted. at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:235) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:978) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:685) at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:585) at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:645) at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:819) at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:803) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1500) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1566) 2020-10-16 15:13:15,850 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1 2020-10-16 15:13:15,851 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG:
報錯原因
(1)確實有可能安裝的時候格式化不成功;
(2)也有可能是操作順序有問題,hadoop集群安裝的時候沒有將active-namenode中對應目錄下格式化時產生的數據復制到 standby-namenode對應目錄下,導致系統認為沒有格式化成功。
報錯解決
(1)重新格式化(解決問題的可能性不大)
(2)檢查hadoop中active-namenode格式化后生成的文件目錄,/data/hadoop/tmp(我的是這個目錄)
發現生成了一下文件,將這些文件拷貝到standby-namenode的相同目錄下,然后重啟hadoop即可。
查看目錄所在位置core-site.xml文件里的hadoop.tmp.dir
<!-- hadoop框架基本配置 集群時需要分發此目錄下name到其他節點 --> <property> <name>hadoop.tmp.dir</name> <value>/data/hadoop/tmp</value> </property>