java - NameNode没有启动start-all.sh

标签 java ubuntu hadoop hdfs hadoop2

我正尝试在我的机器上将 Hadoop 作为单节点集群运行。我完成了安装步骤,所以 Hadoop 已经在我的系统上了。

但是,当我运行 start-all.sh 并随后检查 jps 是否正在运行 NameNode 时,这就是我得到的结果:

20053 Jps
19944 NodeManager

我已经尝试先运行 start-dfs.sh,然后运行 ​​start-yarn.sh,但这没有用。

我还尝试用

格式化 NameNode
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_store/hdfs/namenode/current 并以正确的用户身份重新运行格式。通常,这将类似于:

sudo su hdfs -c "hadoop namenode -format"

关于java - NameNode没有启动start-all.sh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31433454/

相关文章:

java - Spring 将单例 bean 注入(inject)原型(prototype) bean 导致单例重新创建

java - org.jboss.redhat-fuse/fabric8-maven-plugin 和 io.fabric8/fabric8-maven-plugin 之间的区别

ubuntu - 在ubuntu上编译BlueZ : configure error

hadoop - pig 脚本中的代理键

hadoop - 如何在Hive中的子目录上进行分区

java - Spring中如何获取上传文件的完整路径

c# - C# 接口(interface)中不允许的字段

magento - localhost-magento-store.com/index.php/install 显示在 Ubuntu 12.04 中未找到

ubuntu - 无法使用 CDH4 : Datanode denied communication with namenode 启动 hdfs 服务

java - 在 Windows 上启动 sqoop 客户端时出错