我跑了namenode -format。这是我的输出。我尝试更改文件权限chmod 777 hadoop。
我相信这一行是错误的 错误namenode.NameNode:java.io.IOException:无法创建目录/ 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
答案 0 :(得分:14)
尝试使用sudo(我意识到你更改了权限)但我仍然会尝试sudo并检查是否能解决问题。
答案 1 :(得分:12)
以下步骤解决了我的问题 -
1- sudo su
输入您的密码。
2- / usr / local / hadoop / bin / hdfs namenode -format。
已经为hadoop2.5做了这个,其中“hadoop namenode -format”已经被废弃,因此使用“hdfs namenode -format”
答案 2 :(得分:2)
检查hdfs-site.xml配置,它可能有一个错误的属性路径 dfs.namenode.name.dir和dfs.datanode.data.dir 在我的情况下,这是问题的原因(目录位于其他当前用户的主文件夹中)。
答案 3 :(得分:2)
这是权限问题。 要么你可以使用 苏多 2.以root身份登录
但最好的解决方案是
sudo chown $ HADOOP_HOME
hadoop namenode -format
HADOOP_HOME是你的hadoop安装目录
答案 4 :(得分:0)
sudo在这种情况下被破坏了,但pkexec
(PolicyKit的命令行前端)仍然有效,所以你可以用一个命令修复它。不需要重新启动。
pkexec chmod 0440 /etc/sudoers
这假定已安装PolicyKit
。如果这是一个桌面系统(而不是没有GUI的服务器),那就是。