在windows下的hadoop中启动tasktracker的问题

Cha*_*pps 7 java windows hadoop mapreduce

我试图在Windows下使用hadoop,当我想启动tasktracker时遇到问题.例如:

$bin/start-all.sh
Run Code Online (Sandbox Code Playgroud)

然后日志写道:

2011-06-08 16:32:18,157 ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Failed to set permissions of path: /tmp/hadoop-Administrator/mapred/local/taskTracker to 0755
    at org.apache.hadoop.fs.RawLocalFileSystem.checkReturnValue(RawLocalFileSystem.java:525)
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:507)
    at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:318)
    at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:183)
    at org.apache.hadoop.mapred.TaskTracker.initialize(TaskTracker.java:630)
    at org.apache.hadoop.mapred.TaskTracker.<init>(TaskTracker.java:1328)
    at org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:3430)
Run Code Online (Sandbox Code Playgroud)

有什么问题?我怎么解决这个问题?谢谢!

小智 5

我在Windows服务器上安装1.0.3时遇到了这个问题.我更改了hdfs-site.xml中的默认目录,以便hadoop为dfs创建的目录是cygwin目录的子目录,如下所示...

...

 <property>
    <name>dfs.name.dir</name>
    <value>c:/cygwin/usr/mydir/dfs/logs</value>
 </property>
 <property>
    <name>dfs.data.dir</name>
    <value>c:/cygwin/usr/mydir/dfs/data</value>
 </property>
</configuration>
Run Code Online (Sandbox Code Playgroud)

这似乎解决了这个问题.

配置文件的apache文档在这里


Qui*_*nnG -1


/tmp/hadoop-Administrator/mapred/local/taskTracker
错误消息表明, 似乎存在与路径相关的权限问题

ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Failed to set permissions of path: /tmp/hadoop-Administrator/mapred/local/taskTracker
Run Code Online (Sandbox Code Playgroud)

启动任务跟踪器的帐户需要能够 chmod 指定的文件夹。对于其他方面,它可能需要更多的控制,例如成为所有者。我不记得 hadoop 设置中的组件所需的特定权限。

我没有太多处理 Hadoop 的权限设置方面的问题,尤其是在 Windows 上(根本),所以我所说的很大程度上基于您提供的错误消息。我还没有处理 cygwin 文件夹权限,所以我不知道纠正它的解决方案,但希望这能为您指明正确的方向。