Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NameNode不使用start-all.sh启动_Java_Ubuntu_Hadoop_Hdfs_Hadoop2 - Fatal编程技术网

Java NameNode不使用start-all.sh启动

Java NameNode不使用start-all.sh启动,java,ubuntu,hadoop,hdfs,hadoop2,Java,Ubuntu,Hadoop,Hdfs,Hadoop2,我试图在我的机器上以单节点集群的形式运行Hadoop。我完成了安装步骤,所以Hadoop已经在我的系统上了 但是,当我运行start all.sh之后,我用jps检查NameNode是否正在运行时,我得到的结果如下: 20053 Jps 19944 NodeManager 我已经试过先运行start dfs.sh,然后再运行start warn.sh,但没有成功 我还尝试使用 hadoop namenode -format 但我不能这样做,我会犯错误: 15/07/15 16:34:19 W

我试图在我的机器上以单节点集群的形式运行Hadoop。我完成了安装步骤,所以Hadoop已经在我的系统上了

但是,当我运行
start all.sh
之后,我用
jps
检查
NameNode
是否正在运行时,我得到的结果如下:

20053 Jps
19944 NodeManager
我已经试过先运行
start dfs.sh
,然后再运行
start warn.sh
,但没有成功

我还尝试使用

hadoop namenode -format
但我不能这样做,我会犯错误:

15/07/15 16:34:19 WARN namenode.NameNode: Encountered exception during format: 
java.io.IOException: Cannot remove current directory: /usr/local/hadoop_store/hdfs/namenode/current
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:335)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:548)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:569)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:161)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:991)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1429)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1554)
15/07/15 16:34:19 ERROR namenode.NameNode: Failed to start namenode.
java.io.IOException: Cannot remove current directory: /usr/local/hadoop_store/hdfs/namenode/current
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:335)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:548)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:569)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:161)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:991)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1429)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1554)
15/07/15 16:34:19 INFO util.ExitUtil: Exiting with status 1
15/07/15 16:34:19 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at user/127.0.1.1
************************************************************/
我还尝试了:

sudo hadoop namenode -format
但这也不起作用,我仍然会犯一些错误

有人能帮我吗?我已经为这个问题挣扎了好几天了


谢谢

您有权限问题

用于运行名称节点格式的用户必须与运行名称节点进程的用户相同。您可以通过使用Unix文件系统权限来解决这个问题,但不应该这样做

对于您的情况,您可以以root用户身份运行启动脚本,这不是一个好主意,但是如果我们只讨论本地集群,那么这可能是可以接受的

更好的做法是删除
/usr/local/hadoop\u store/hdfs/namenode/current
,并以正确的用户身份重新运行该格式。通常情况下,这类似于:

sudo su hdfs -c "hadoop namenode -format"

您有权限问题

用于运行名称节点格式的用户必须与运行名称节点进程的用户相同。您可以通过使用Unix文件系统权限来解决这个问题,但不应该这样做

对于您的情况,您可以以root用户身份运行启动脚本,这不是一个好主意,但是如果我们只讨论本地集群,那么这可能是可以接受的

更好的做法是删除
/usr/local/hadoop\u store/hdfs/namenode/current
,并以正确的用户身份重新运行该格式。通常情况下,这类似于:

sudo su hdfs -c "hadoop namenode -format"