无法在Windows上的Hadoop中设置本地目录

时间:2016-09-15 20:11:03

标签: java hadoop

当我收到如下错误时,尝试在Windows上运行MapReduce作业:

Error: Application application_1441785420720_0002 failed 2 times due to AM Container for appattempt_1441785420720_0002_000002 exited with exitCode:-1000

Diagnostics:
Application application_1441785420720_0003 failed 2 times due to AM Container for appattempt_1441785420720_0003_000002 exited with exitCode: -1000 For more detailed output, check application tracking page:http://HOST:8088/cluster/app/application_1441785420720_0003 Then, click on links to logs of each attempt.

Diagnostics: Failed to setup local dir /tmp/hadoop-USER/nm-local-dir, which was marked as good. Failing this attempt. Failing the application.

昨天一切正常,但Java环境,文件权限或Hadoop配置都没有改变。

5 个答案:

答案 0 :(得分:1)

经过4个多小时的故障排除后,结果证明这是与我的办公室域名相关的问题。我不确定为什么的情况(如果我发现任何事情,我会稍后发布内容),但它最终会导致文件权限问题,当我不在我的办公室域名时,Hadoop误解了c:\tmp\目录中的某些文件权限。

现在解决方案:当我不在办公室时使用VPN。

答案 1 :(得分:1)

您应该使用“以管理员身份运行”运行CMD以解决此问题,因为Hadoop集群环境位于WINDOWS操作系统上

答案 2 :(得分:1)

Hadoop 2.7中似乎存在一个与Windows上的文件权限有关的错误。您可以通过editing the code directly修复该错误,也可以通过升级到Hadoop 2.8来避免麻烦。

答案 3 :(得分:0)

这是权限问题。有时回来我在尝试提交mapreduce作业时也遇到了这个错误。操作系统是CentOS而不是Windows。但是,这个错误的原因是一样的。 / tmp目录由" hdfs"创建。用户并属于" supergroup"。一些不属于超级组的用户尝试提交作业,用户肯定会收到此错误。

Name    User    Group       

tmp     hdfs    supergroup  

这就是为什么当您登录办公室域并提交作业时,作业会执行。

答案 4 :(得分:-1)

该问题的一种解决方案是以管理员身份运行命令提示符,然后运行诸如“start-all.cmd”之类的脚本。我认为管理员权限可以解决问题。