我正在尝试使用doSNOW和foreach包进行多服务器(而不是多核)计算。 我有2台Windows服务器,我想在这两台Windows机器上启动并行计算。
我有以下代码:
library(foreach)
library(doSNOW)
winOptionsServer1 <-
list(host="Server1",
rscript="C:/Program Files/R/R-3.1.2/bin/Rscript.exe",
snowlib="C:/Program Files/R/R-3.1.2/library")
winOptionsServer2 <-
list(host="Server2",
rscript="C:/Program Files/R/R-3.1.2/bin/Rscript.exe",
snowlib="C:/Program Files/R/R-3.1.2/library")
cl <- makeCluster(c(rep(winOptionsServer1, 2), rep(winOptionsServer1, 2)), type="SOCK")
调用makeCluster后,我的机器会进行somrthing,但实际上从未完成调用。当我在RStudio中点击Stop时,我收到以下错误消息:
running command 'ssh -l mypc Server1 C:/PROGRA~1/R/R-31~1.2/bin/Rscript.exe "C:/Program Files/R/R-3.1.2/library/snow/RSOCKnode.R" MASTER=MY-PC PORT=11764 OUT=/dev/null SNOWLIB=C:/Program Files/R/R-3.1.2/library' had status 127
这是否意味着我必须在这些远程服务器上配置某些东西?我究竟应该配置什么? SSH?我该怎么办?也许我应该在我的远程机器上打开一些端口?哪些?
有没有人有一个完整的例子,说明在两台或更多台机器上运行R需要做的步骤。
P.S。 doSnow在多核运行时效果很好,没问题。运行多服务器时遇到问题