在hadoop集群master上jps:
26690 Jps
25840 JobTracker
25480 DataNode
25746 SecondaryNameNode
26084 TaskTracker
26639 FsShell
上面少了个NameNode,导致虽dataNode上jps都正常,但在web端的DataNode数为零。
查看logs/hadoop-*-namenode.log:
2012-02-25 18:49:25,435 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Registered FSNamesystemStateMBean and NameN
odeMXBean
2012-02-25 18:49:25,452 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: Caching file names occuring more than 10 times
2012-02-25 18:49:25,459 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
java.io.IOException: NameNode is not formatted.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:315)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:97)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:386)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:360)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:276)
at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:496)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1279)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1288)
2012-02-25 18:49:25,461 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: java.io.IOException: NameNode is not formatted
.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:315)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:97)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:386)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:360)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:276)
at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:496)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1279)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1288)
可以看出是NameNode is not formatted出了问题。
到处都说./hadoop nomenode -format, 运行结果却没有用,错误依旧存在。
在conf/hdfs-site.xml中配置的目录,
dfs.data.dir
/home/hadoop/dfs/data
这个就是format的目录,而./hadoop nomenode -format后,出现下面这种信息才算format成功,
而开始不知道,所以还奇怪为什么每次format后还出现上面的错误。
12/02/25 19:52:40 INFO util.GSet: VM type = 32-bit
12/02/25 19:52:40 INFO util.GSet: 2% max memory = 36.37375 MB
12/02/25 19:52:40 INFO util.GSet: capacity = 2^23 = 8388608 entries
12/02/25 19:52:40 INFO util.GSet: recommended=8388608, actual=8388608
12/02/25 19:52:40 INFO namenode.FSNamesystem: fsOwner=freshines
12/02/25 19:52:40 INFO namenode.FSNamesystem: supergroup=supergroup
12/02/25 19:52:40 INFO namenode.FSNamesystem: isPermissionEnabled=false
12/02/25 19:52:40 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
对于format不成功的,就将上面hdfs-site.xml中的这个data目录删除再./hadoop nomenode -format即可。
网上都只是说./hadoop nomenode -format,却都没说format不成功的情况,一个下午就在摸索这个了。