我正在尝试运行一个名为phenoripper(图像分析软件)的程序,它在ubuntu(13.04)上的hadoop多节点设置(1.1.2版)中使用mcr。hadoop设置与一般的python/javamapreduce作业完美结合;但是,当我尝试在设置中使用phenoripper时,出现以下错误:
boost::文件系统::创建_directory:permission denied
我问过phenoripper的开发人员,他们向我保证他们的程序没有创建或写入临时目录,因为它在一台计算机上运行得很好,我相信mcr应该对此错误负责。如果我理解正确的话,它试图在没有权限的地方创建一个临时目录,很可能是在一个从属节点上。有人知道这个目录在哪里,或者怎么找到它吗?如果我能找到这个目录,我的解决方案就是用适当的权限永久地创建它。这听起来像是可行的解决方案吗?任何关于到底发生了什么/如何解决它的想法都将不胜感激!
2条答案
按热度按时间rqqzpn5f1#
问题解决了…最新版本的mcr在这篇文章中有一个重大错误,在这个错误中,一些进程寻找一个/homes/目录,其中包含.matlab目录…一些程序员一定只是在那里放了一个额外的s,相当于几天的痛苦。在777权限下创建该目录并将.matlab文件夹放入其中,解决了该问题。
lf5gs5x22#
我在mcr方面的经验很少,但下面是我从hadooptmp目录的Angular 来帮助您朝着正确的方向前进的尝试。
可以想象,在hadoop中创建tmp目录时,运行phenoripper时的权限是不同的。如果您想了解临时目录在hadoop中的位置,请查看您的hadoop站点或核心站点并找到:
这是hadoop中所有tmp目录的基础。然后查看hdfs站点中的以下配置参数:
它包含作业写入的数据块。
hadoop用来创建这些权限的user.name就是您在询问whoami时遇到的同一个用户