2013-07-15 48 views
0

我试图在Ubuntu(13.04)上运行一个名为Phenoripper(图像分析软件)的程序,该程序在Hadoop多节点安装程序(版本1.1.2)内部使用MCR。 hadoop设置完全适用于通用的python/java mapreduce作业;然而,当我尝试在安装使用phenoripper我得到这个错误:在Linux上多节点hadoop安装的MCR权限问题

的boost ::文件系统:: create_directory:许可被拒绝

我问Phenoripper的开发者关于这一点,他们都向我保证,他们的程序不会创建或写入临时目录,因为它完全在单台计算机上运行,​​所以我相信MCR对此错误负责。如果我理解正确,它正试图创建一个临时目录,它可能位于其中一个从属节点上,但没有权限。有没有人知道这个目录可能位于何处或如何找到它?如果我能找到这个目录,我的解决方案是用适当的权限永久创建它。这听起来像一个可行的解决方案?任何想法到底是怎么回事/如何解决它将不胜感激!

回答

0

问题固定在同一用户......最近MCR的版本这个职位有着重大的错误,其中一些进程在其中查找带有.matlab目录的/ homes /目录...某些程序员必须在这里等待几天的痛苦才能添加额外的s。在777权限下创建该目录,并在其中放入.matlab文件夹修复了问题。

0

我对MCR很少有经验,但这里是我从Hadoop tmp目录的角度帮助您指引正确方向的尝试。

可以想象,当运行Phenoripper的权限在他们遇到在Hadoop中创建tmp目录时是不同的。如果你想明白的地方临时迪尔斯是在Hadoop中看看您的Hadoop的网站或核心现场,发现:

<property> 
<name>hadoop.tmp.dir</name> 
<value>/tmp/hadoop-${user.name}</value> 
</property> 

这是Hadoop中发现所有的TMP目录的基础。然后查看hdfs-site中的以下配置参数:

dfs.datanode.data.dir(new name) or dfs.data.dir (old name) 

这包含您的作业写入的数据块。

的user.name Hadoop的使用创造这些权限是你遇到的,当你问whoami

+0

感谢您的建议,但那不是问题......它实际上是MCR程序员犯的一个错误 – evansmtihc