gpt4 book ai didi

windows - 在没有cygwin的Windows 7中运行Hadoop-2.3 Mapreduce作业时获取访问被拒绝错误

转载 作者:行者123 更新时间:2023-12-02 21:45:24 25 4
gpt4 key购买 nike

我试图在Windows 7中运行hadoop-2.3 mapreduce作业。

我在没有cygwin的Windows 7中构建了hadoop-2.3,并启动了hadoop服务,它们都运行良好。但是,如果我尝试运行任何mapreduce作业,我将遇到错误。

我以管理员权限启动了所有服务。

错误:

Application application_1410483662307_0001 failed 2 times due to AM Container for appattempt_1410483662307_0001_000002 exited with exitCode: 5 due to: Exception from container-launch: org.apache.hadoop.util.Shell$ExitCodeException: createTask error (5): Access is denied.
org.apache.hadoop.util.Shell$ExitCodeException: createTask error (5): Access is denied.

但是它在Windows 8和8.1中困扰。

如何解决这个问题对我有帮助?

谢谢,

最佳答案

问题在于用于任务创建的WinUtils.exe。 WinUtils.exe在 task.c 文件的 createTask()方法中使用了 AssignProcessToJobObject()

在Windows 7中,如果Jobobject已经分配了一个进程,则“AssignProcessToJobObject”无法分配新进程,并返回“Access Denied”消息。

因此,当您以编程方式调用exe时,可能已经为jobObject分配了一个ProcessHandle,然后该ProcessHandle从“AssignProcessToJobObject”函数返回为“拒绝访问”。

修复:检查JobObject中是否有任何关联的进程,并且仅在未将JobObject分配给任何进程时才分配新进程。确保所做的更改仅适用于Windows 7环境,并允许在Windows 8和更高版本的环境中使用默认代码。

希望这可以帮助。

关于windows - 在没有cygwin的Windows 7中运行Hadoop-2.3 Mapreduce作业时获取访问被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25790319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com