hadoop java.io.IOException:在OSX上运行namenode -format时

时间:2014-01-16 21:29:11

标签: java macos hadoop java-io

我在格式化namenode时遇到以下错误,我已尝试使用sudo su,如其他一些堆栈溢出解决方案中所述,但我仍然收到此错误,请协助。

14/01/16 16:10:41 INFO util.GSet: Computing capacity for map INodeMap
14/01/16 16:10:41 INFO util.GSet: VM type       = 64-bit
14/01/16 16:10:41 INFO util.GSet: 1.0% max memory = 889 MB
14/01/16 16:10:41 INFO util.GSet: capacity      = 2^20 = 1048576 entries
14/01/16 16:10:41 INFO namenode.NameNode: Caching file names occuring more than 10 times
14/01/16 16:10:41 INFO namenode.FSNamesystem: dfs.namenode.safemode.threshold-pct = 0.9990000128746033
14/01/16 16:10:41 INFO namenode.FSNamesystem: dfs.namenode.safemode.min.datanodes = 0
14/01/16 16:10:41 INFO namenode.FSNamesystem: dfs.namenode.safemode.extension     = 30000
14/01/16 16:10:41 INFO namenode.FSNamesystem: Retry cache on namenode is enabled
14/01/16 16:10:41 INFO namenode.FSNamesystem: Retry cache will use 0.03 of total heap and retry cache entry expiry time is 600000 millis
14/01/16 16:10:41 INFO util.GSet: Computing capacity for map Namenode Retry Cache
14/01/16 16:10:41 INFO util.GSet: VM type       = 64-bit
14/01/16 16:10:41 INFO util.GSet: 0.029999999329447746% max memory = 889 MB
14/01/16 16:10:41 INFO util.GSet: capacity      = 2^15 = 32768 entries
14/01/16 16:10:41 FATAL namenode.NameNode: Exception in namenode join
java.io.IOException: Cannot create directory /Users/hadoop/hadoop/bin/hdfs/namenode/current
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:301)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:523)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:544)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:147)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:837)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1213)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1320)
14/01/16 16:10:41 INFO util.ExitUtil: Exiting with status 1
14/01/16 16:10:41 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode 

我刚尝试创建目录/Users/hadoop/hadoop/bin/hdfs/namenode/current,但我发现bin目录中有一个名为hdfs的文件,所以它不允许我在bin目录中创建一个名为hdfs的目录,所以不确定我是否应该写这个hdfs文件或将其复制到其他位置?

1 个答案:

答案 0 :(得分:0)

如果目录/ Users / hadoop / hadoop / bin / hdfs / namenode / current不存在,则无法在那里创建文件,因此请确保先创建目录。

确保您还具有对所有子目录的读取和执行权限:chmod o+x /Users/hadoop/hadoop/bin/hdfs/namenode/current

检查hadoop是否在不同的用户名下运行。要找到它,您可以从命令行使用此命令:ps aux | grep hadoop