尝试在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配置没有任何变化。
4条答案
按热度按时间tzdcorbm1#
这是权限问题。前一段时间,我在提交mapreduce作业时也遇到了这个错误。操作系统是centos而不是windows。但是,这个错误的原因是一样的。/tmp目录是由“hdfs”用户创建的,属于“supergroup”。如果某个不属于超级组的用户试图提交作业,则该用户肯定会遇到此错误。
这就是为什么当您登录到office域并提交作业时,作业会执行的原因。
2fjabf4q2#
hadoop2.7中似乎有一个bug与windows上的文件权限有关。您可以通过直接编辑代码来修复这个bug,也可以通过升级到hadoop2.8来避免麻烦。
46scxncf3#
经过4个多小时的故障排除,这是一个与我的office域有关的问题。我还不知道为什么会这样(如果我有什么发现的话,我稍后会发布一些东西),但这最终是一个文件权限问题,hadoop错误地理解了我的系统中的一些文件权限
c:\tmp\
当我不在我的办公区域时。目前的解决方案是:我不在办公室的时候就接入vpn。
ct3nt3jp4#
您应该使用“以管理员身份运行”来运行cmd来解决这个问题,因为hadoop集群环境在windows操作系统上