我正在尝试使用snow在R中运行并行作业。我已经能够在旧版本的R和snow上运行非常类似的工作而没有任何问题。
发生的情况:我的作业在parRapply
步骤终止,也就是说,节点第一次必须做除报告Sys.info()
之外的任何事情。错误信息如下:
Error in checkForRemoteErrors(val) :
3 nodes produced errors; first error: cannot open the connection
Calls: parRapply ... clusterApply -> staticClusterApply -> checkForRemoteErrors
Specs: R 2.14.0, snow 0.3-8, RedHat Enterprise Linux Client release 5.6。snow包已经构建在正确的r版本上。
细节:下面的代码看起来执行得很好:
cl <- makeCluster(3)
clusterEvalQ(cl,library(deSolve,lib="~/R/library"))
clusterCall(cl,function() Sys.info()[c("nodename","machine")])
我是一名终端用户,而不是系统管理员,但我迫切需要对可能出现的问题的建议和见解。
出现这个神秘的错误是因为在程序执行期间请求的输入文件实际上并不存在。每个节点将尝试加载该文件,然后失败,但这只会导致"无法打开连接"消息。
这意味着几乎任何事情都可能导致"连接"错误。非常讨厌!