0

我正在尝试使用 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 后,我的机器会做一些事情,但从未真正完成调用。当我在 RStudio 中点击停止时,我收到以下错误消息:

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?我该怎么做?也许我应该在我的远程机器上打开一些端口?哪个?

有没有人有我需要做的步骤的完整示例在 2 台或更多机器上运行 R。

PS doSnow 非常适合多核运行,这没问题。我在运行多台服务器时遇到问题

4

0 回答 0