我在Cygwin中运行Hadoop时无法更改文件的权限:
java.io.IOException: Failed to set permissions of path: \tmp\hadoop-James\mapred\staging\James-1143336710\.staging to 0700
从我收集的内容来看,你无法真正以root身份运行Cygwin,因为Windows实际上并没有root(reference)的概念,我试图以管理员用户身份运行Cygwin但是当我右键单击Windows XP中的Cygwin快捷方式时,我无法使用此选项(我还尝试更改Cygwin快捷方式的属性以允许我以另一个用户身份运行但该选项已禁用)。
有人可以告诉我如何解决这个问题吗?在此先感谢您的帮助。
答案 0 :(得分:2)
以下是针对此特定问题的简单易用的解决方法:
https://github.com/congainc/patch-hadoop_7682-1.0.x-win
此问题与文件权限本身无关。相反,它是Java VM支持在Windows上设置文件权限的问题,以及Hadoop提交者之间的不妥协态度,不能解决问题。有关血淋淋的细节,请参阅HADOOP-7682:
答案 1 :(得分:0)
运行ssh-host-config。它将设置prvileged用户“cyg_server”并设置sshd 作为一个Windows服务。
“/ etc / passwd”中的为用户提供了一个“/ home / cyg_server”和shell“/ bin / bash”。 为用户创建密码。然后创建ssh密钥并将其添加到 的〜/ .ssh / authorized_keys中。
启动Windows服务。在cygwin shell中,“ssh cyg_server @ localhost”。
---编辑---
忘了提及:当你为cyg_server用户创建密码时,你需要一个root cygwin shell(以管理员身份运行cygwin bash)。还为用户提供了一个有效的shell(/ bin / bash)。