17/09/30 13:39:19 WARN namenode.FSEditLog: No class configured for node2, dfs.namenode.edits.journal-plugin.node2 is empty
17/09/30 13:39:19 FATAL namenode.NameNode: Exception in namenode join
java.lang.IllegalArgumentException: No class configured for node2
at org.apache.hadoop.hdfs.server.namenode.FSEditLog.getJournalClass(FSEditLog.java:1532)
at org.apache.hadoop.hdfs.server.namenode.FSEditLog.createJournal(FSEditLog.java:1546)
at org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournals(FSEditLog.java:267)
at org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournalsForWrite(FSEditLog.java:233)
at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:920)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1354)
17/09/30 13:39:19 FATAL namenode.NameNode: Exception in namenode join
java.lang.IllegalArgumentException: No class configured for node2
at org.apache.hadoop.hdfs.server.namenode.FSEditLog.getJournalClass(FSEditLog.java:1532)
at org.apache.hadoop.hdfs.server.namenode.FSEditLog.createJournal(FSEditLog.java:1546)
at org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournals(FSEditLog.java:267)
at org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournalsForWrite(FSEditLog.java:233)
at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:920)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1354)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1473)
经仔细检查(比对了很久)原来是hdfs-site.xml的配置错了,我少写了下面红色加粗部分,加上之后格式化就OK了
<property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://node1.example.com:8485;node2.example.com:8485;node3.example.com:8485/mycluster</value> </property>