ERROR namenode.NameNode: java.io.IOException: Cannot create directory ~~~/dfs/name/current

18/09/15 11:06:26 WARN namenode.NameNode: Encountered exception during format: 
java.io.IOException: Cannot create directory /hadoop/hadoop-2.7.7/dfs/name/current
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:337)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:564)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:585)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:179)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1015)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1457)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1582)
18/09/15 11:06:26 ERROR namenode.NameNode: Failed to start namenode.
java.io.IOException: Cannot create directory /hadoop/hadoop-2.7.7/dfs/name/current
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:337)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:564)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:585)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:179)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1015)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1457)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1582)
18/09/15 11:06:26 INFO util.ExitUtil: Exiting with status 1
18/09/15 11:06:26 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at cgd-virtual-machine/127.0.1.1
************************************************************/

这个其实就是文件权限、文件权限、文件权限的问题

我们首先进入root管理模式

ERROR namenode.NameNode: java.io.IOException: Cannot create directory ~~~/dfs/name/current

我们可以通过到达子目录tmp   然后查看这个目类下所有文件夹的权限

ERROR namenode.NameNode: java.io.IOException: Cannot create directory ~~~/dfs/name/current

在这里我们可以看见这个目录的用户组和所有者都是root

所以我们需要进行设置更改

ERROR namenode.NameNode: java.io.IOException: Cannot create directory ~~~/dfs/name/current

 

ERROR namenode.NameNode: java.io.IOException: Cannot create directory ~~~/dfs/name/current

 

当我们看见以下两个状态的时候就代表我们伪分布式模式名称节点格式化(./bin/hdfs namenode -format)就成功啦

ERROR namenode.NameNode: java.io.IOException: Cannot create directory ~~~/dfs/name/current