12

我运行了 namenode -format。这是我的输出。我尝试更改文件权限 chmod 777 hadoop。

我相信这一行是错误 ERROR namenode.NameNode: java.io.IOException: Cannot create directory /your/path/to/hadoop/tmp/dir/hadoop-hadoop/dfs/name/current

adoop@alexander-desktop:/usr/local/hadoop/bin$ ./hadoop namenode -format
12/07/03 17:03:56 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = alexander-desktop/127.0.1.1
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 0.20.2
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707; compiled by 'chrisdo' on Fri Feb 19 08:07:34 UTC 2010
************************************************************/
12/07/03 17:03:56 INFO namenode.FSNamesystem: fsOwner=hadoop,hadoop
12/07/03 17:03:56 INFO namenode.FSNamesystem: supergroup=supergroup
12/07/03 17:03:56 INFO namenode.FSNamesystem: isPermissionEnabled=true
12/07/03 17:03:56 ERROR namenode.NameNode: java.io.IOException: Cannot create directory /your/path/to/hadoop/tmp/dir/hadoop-hadoop/dfs/name/current
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:295)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:1086)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:1110)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:856)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:948)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:965)

12/07/03 17:03:56 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at alexander-desktop/127.0.1.1


hadoop@alexander-desktop:/usr/local$ sudo hadoop/bin/hadoop namenode -format
sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting
4

5 回答 5

18

尝试使用 sudo (我意识到您更改了权限),但我仍然会尝试 sudo 并检查是否可以解决问题。

于 2012-07-03T16:47:14.630 回答
13

以下步骤解决了我的问题 -

1-须藤苏

输入您的密码。

2-/usr/local/hadoop/bin/hdfs 名称节点格式。

这已针对 hadoop2.5 完成,其中“hadoop namenode -format”已被弃用,因此使用“hdfs namenode -format”

于 2014-09-01T05:23:38.447 回答
2

检查 hdfs-site.xml 配置,它可能具有属性 dfs.namenode.name.dir 和 dfs.datanode.data.dir 的错误路径在我的情况下,这是问题的原因(目录位于当前用户的其他目录中主文件夹)。

于 2014-04-12T14:43:30.000 回答
2

这是一个权限问题。您可以使用 1. sudo 2. 以 root 身份登录

但最好的解决方案是

sudo chown $HADOOP_HOME

hadoop 名称节点格式

HADOOP_HOME 是你的 hadoop 安装目录

于 2014-11-26T11:48:30.947 回答
0

sudo 在这种情况下被破坏,但pkexec(PolicyKit 的命令行前端)仍然有效,因此您可以使用单个命令修复它。无需重新启动。

pkexec chmod 0440 /etc/sudoers

这假设PolicyKit已安装。如果这是一个桌面系统(而不是没有 GUI 的服务器),它就是。

于 2013-08-09T17:57:37.297 回答