我已经在 Windows 7 下的 cygwin 上设置了 hadoop 1.1.1。dfs 组件启动正常(start-dfs.sh 或 start-all.sh 两者),jobtracker(启动 mapred.sh)也是如此,但 tasktracker 无法启动并关闭出现与 taskTracker 路径权限相关的错误(未能设置 0755)。我在 Windows 下的 hadoop 中启动 tasktracker 的问题中看到了类似的问题,但没有找到任何解决方案或有关如何解决它的指导。也尝试了许多网站的解决方案,但都是徒劳的。
这是日志输出
2013-01-02 15:51:31,836 INFO org.apache.hadoop.mapred.TaskTracker: Starting tasktracker with owner as 120173
2013-01-02 15:51:31,836 INFO org.apache.hadoop.mapred.TaskTracker: Good mapred local directories are: /tmp/hadoop-120173/mapred/local
2013-01-02 15:51:31,852 ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Failed to set permissions of path: \tmp\hadoop-120173\mapred\local\taskTracker to 0755
at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:689)
at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:670)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344)
at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:189)
at org.apache.hadoop.mapred.TaskTracker.initialize(TaskTracker.java:810)
at org.apache.hadoop.mapred.TaskTracker.<init>(TaskTracker.java:1557)
at org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:3893)
2013-01-02 15:51:31,852 INFO org.apache.hadoop.mapred.TaskTracker: SHUTDOWN_MSG:
我什至尝试手动设置此目录的权限,然后运行 tasktracker 但它仍然失败。