当我hadoop namenode -formate之后,我运行start-dfs.sh之后,namenode的日志报错,错误如下:
2011-08-11 18:27:20,179 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:317)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:87)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:311)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:292)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201)
at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:279)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:956)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:965)
core-site.xml的配置如下:
fs.default.name
hdfs://localhost:9000
hadoop.tmp.dir
/opt/hadoop/hadooptmp
hdfs-site.xml的配置如下:
dfs.name.dir
/opt/hadoop/hdfs/name
dfs.data.dir
/opt/hadoop/hdfs/data
dfs.replication
1
mapred-site.xml配置如下:
mapred.job.tracker
localhost:8021
mapred.local.dir
/opt/hadoop/mapred/local
mapred.system.dir
/opt/hadoop/mapred/system
从日志分析是没有formate,但是我的确formate了。namenode的name目录是不会自动创建的,我手动创建,并且修改了权限为chmod -R 777 hadoop ,所以从读写的权限来也没有问题。但是如果我不手动也会报错,错误是:
2011-08-11 18:37:09,401 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /opt/hadoop/hdfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:290)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:87)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:311)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:292)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201)
at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:279)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:956)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:965)
有没有哪位能帮我解决下这个问题,非常感谢。我怀疑是hadoop权限的问题,希望大牛们赐教。