Permissions Hadoop配置似乎无法读取
每次我尝试启动mapreduce应用程序(在独立Hadoop中)时,它都会尝试将内容放入tmp目录,但它无法: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
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,因为我找不到配置该路径的位置。。。。