我在Windows 7下的cygwin上设置了hadoop 1.1.1。dfs组件可以正常启动(start-dfs.sh或start-all.sh都可以),jobtracker(可以启动mapred.sh)也可以,但是tasktracker无法启动和关闭向下,并显示与taskTracker路径权限相关的错误(未能设置0755)。我在Problem starting tasktracker in hadoop under windows上看到过类似的问题报告,但是没有找到解决方法或指导。也曾尝试过一些网站的解决方案,但都是徒劳的。

这是日志输出

     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,但仍然失败。

最佳答案

这是由于hadoop-7682错误所致,您必须应用jar修补程序才能解决此问题。
您可以在此处找到补丁和说明

https://github.com/congainc/patch-hadoop_7682-1.0.x-win

关于hadoop - 由于权限失败,无法在cygwin上启动tasktracker,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14121727/

10-15 14:34