Permissions Hadoop配置似乎无法读取

Permissions Hadoop配置似乎无法读取,permissions,hadoop,cygwin,configuration-files,tmp,Permissions,Hadoop,Cygwin,Configuration Files,Tmp,每次我尝试启动mapreduce应用程序(在独立Hadoop中)时,它都会尝试将内容放入tmp目录,但它无法: Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-username\mapred\staging\username-1524148556\.staging to 0700 它绑定到使用无效路径(对于cygwin,斜杠应该是另一种方式) 我在cor

每次我尝试启动mapreduce应用程序(在独立Hadoop中)时,它都会尝试将内容放入tmp目录,但它无法:

Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-username\mapred\staging\username-1524148556\.staging to 0700
它绑定到使用无效路径(对于cygwin,斜杠应该是另一种方式)

我在core-site.xml(在hadoop的conf文件夹中)中设置了hadoop.tmp.dir,但似乎从未读取过配置文件(如果我在文件中放入语法错误,则没有任何区别)。我补充说:

--config /home/username/hadoop-1.0.1/conf
命令,但没有区别。我还尝试:

export HADOOP_CONF_DIR=/home/username/hadoop-1.0.1/conf
但这似乎也没有效果

有没有关于为什么不读取配置的指针,或者我在这里没有看到的其他内容


谢谢

并不是斜杠颠倒了,而是/tmp是一个cygwin路径,它实际上映射到/cygwin/tmp或c:\cygwin\tmp。因为hadoop是java,不知道cygwin映射,所以/tmp表示c:\tmp

如果你想在cygwin上运行1.0.1,有很多东西需要修补


请参阅:

我发现下面的链接很有用,新版本的Hadoop似乎存在问题。我使用的是1.0.4版,但我仍然面临这个问题

更新:在Mahout 0.7中,对于使用“Mahoot in Action”书籍示例的用户,您应该更改示例代码,如下所示:

    File outFile = new File("output");
    if (!outFile.exists()) {
        outFile.mkdir();
    }
    Path output = new Path("output");
    HadoopUtil.delete(conf, output);

    KMeansDriver.run(conf, new Path("testdata/points"), new Path("testdata/clusters"),
            output, new EuclideanDistanceMeasure(), 0.001, 10,
            true, 0.1, true);

您运行的是Cygwin版本的Hadoop还是Windows版本?@AlG:我从下载了linux版本,是否有单独的Cygwin版本?但即使这样,也应该可以告诉linux版本它不应该使用/tmp,对吗?我刚刚检查过,没有Cygwin版本。这个奇怪的路径是关键,也许Linux版本的Hadoop正在采用windows版本的Java?是的,路径是个问题,现在我要使用完整的Linux,因为我找不到配置该路径的位置。。。。