我正在尝试在 ubuntu 12.04 上安装 hadoop。以下是我输入时遇到的错误:
/usr/local/hadoop/bin/hadoop namenode -format
错误namenode.NameNode:java.io.IOException:无法删除当前目录:/app/hadoop/tmp/dfs/name/current
打字/usr/local/hadoop/bin/start-all.sh namenode
不启动
我有一个类似的问题。我跟着 Michael noll 在单节点集群上安装 hadoop,我执行了bin/hadoop namenode -format,它抛出了你提到的异常。
尝试sudo bin/hadoop namenode -format解决了这个问题。
1.停止所有正在运行的服务:Stop-all.sh
2.编辑/usr/local/hadoop/conf/hdfs-site.xml
<name>dfs.data.dir</name>
<value>/app/hadoop/tmp/dfs/name/data</value>
<final>true</final>
</property>
<property>
<name>dfs.name.dir</name>
<value>/app/hadoop/tmp/dfs/name</value>
<final>true</final>
如果数据和名称目录都准备就绪,则创建新目录
> mkdir -p /app/hadoop/tmp/dfs/name(Here give new name)
> mkdir -p /app/hadoop/tmp/dfs/data(Here give new name)
比将组更改为 hadoop
sudo chown -R hduser(hadoop_user):hadoop(hadoop_group)/app/hadoop/tmp/dfs/name/
sudo chown -R hduser(hadoop_user):hadoop(hadoop_group)/app/hadoop/tmp/dfs/data/
3.这个名称和数据目录名称也在hdfs-site.xml文件中改变
4.比格式化name节点并启动所有服务。
还要检查文件权限...
尝试在命令前使用sudo。另外,正如@Tarik 所说,检查您的目录权限
使用下面的链接进行您的 hadoop 集群配置。
http://cs.smith.edu/classwiki/index.php/CSC352_Hadoop_Cluster_Howto
确保您对用于发出这些命令的用户具有适当的目录权限。