运行用pyCOMPSs实现的应用程序时出错。应用程序运行良好,但我在应用程序中做了一些更改,并且停止了工作。这是我从应用程序获得的堆栈:
--- START OF NESTED EXCEPTION STACK TRACE ---
*** stack trace of GATInvocationException
--- START OF NESTED EXCEPTION STACK TRACE ---
*** stack trace of GATInvocationException
--- START OF NESTED EXCEPTION STACK TRACE ---
*** stack trace of IOException
java.io.IOException: Error during SCP transfer.
at com.trilead.ssh2.SCPClient.put(SCPClient.java:592)
at com.trilead.ssh2.SCPClient.put(SCPClient.java:456)
at org.gridlab.gat.io.cpi.sshtrilead.SshTrileadFileAdaptor.put(SshTrileadFileAdaptor.java:418)
...
Caused by: java.io.IOException: Remote scp terminated with error (scp: /gpfs/scratch/wdir_pycompss: No such file or directory).
at com.trilead.ssh2.SCPClient.readResponse(SCPClient.java:59)
at com.trilead.ssh2.SCPClient.sendFiles(SCPClient.java:166)
at com.trilead.ssh2.SCPClient.put(SCPClient.java:588)
... 15 more
--- END OF NESTED EXCEPTION STACK TRACE ---
*** stack trace of MethodNotApplicableException
LocalFile: cannot copy to remote destination
--- END OF NESTED EXCEPTION STACK TRACE ---
--- END OF NESTED EXCEPTION STACK TRACE ---它说没有找到一个文件夹,但是它在workingDir中被定义为project.xml,并且应用程序正在创建这个文件夹。我做错了什么吗?
发布于 2016-03-21 15:17:25
在project.xml中定义的工作dir必须在执行定义的任务之前存在,因为它是执行远程任务的地方。根据(py)COMPSs运行时使用的通信适配器,如果(Py)COMPSs运行时不存在,则可以创建它。从您发送的堆栈中,我可以推断您正在使用GAT适配器运行,但情况并非如此。
您正在做的错误事情是,一个任务正在创建工作dir,而不是在部署时创建allowed.The工作dir文件夹。在这种情况下,运行时试图在执行过程中创建的文件夹中运行任务。在任务代码中,可以创建一个具有相对路径的沙箱文件夹,并且它将在工作dir中创建,但请记住,即使它们在同一个工作节点中执行,它也不会从一个任务持续到另一个任务。
https://stackoverflow.com/questions/36134518
复制相似问题