hadoop命令不起作用,错误显示:“拒绝访问”

1wnzp6jl  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(261)

我正在使用执行hadoop命令 winutils.exe task create ip ipconfig 以管理员权限从cmd执行其工作并显示结果。但如果我在c#程序中尝试同样的管理权限,它会显示 Access is denied 错误。
错误:

C:Hadoop\bin>winutils.exe task create ip ipconfig

createTask error (5): Access is denied.
4c8rllxm

4c8rllxm1#

问题出在winutils.exe上。winutils.exe在task.c文件的createtask()方法中使用了assignprocesstojobobject()。
在Windows7中,如果jobobject已经分配了一个进程,那么'assignprocesstojobobject'不能分配一个新进程,并返回'access denied'消息。

因此,当您以编程方式调用exe时,jobobject可能已经被分配了一个processhandle,然后从'assignprocesstojobobject'函数返回“拒绝访问”。
修复:检查jobobject是否有任何关联的进程,并且仅当jobobject未分配给任何进程时才分配新进程。确保您的更改仅适用于windows 7环境,并允许在windows 8及更高版本的环境中使用默认代码。
希望这有帮助。

相关问题