基于R SOCKet的集群

时间:2013-05-28 07:24:56

标签: r cluster-computing

我正在尝试使用R snow包建立SOCKet群集。

我可以使用IP地址访问5台计算机: xxx.xxx.xx.x1 xxx.xxx.xx.x2 xxx.xxx.xx.x3 xxx.xxx.xx.x4 xxx.xxx.xx.x5

As in this question,我已成功将公钥复制到这些计算机上,以便无密码身份验证正常工作。从R内部开始,

library(parallel)
library(snowfall)
for (i in seq.int(5)) system(print(paste('ssh ', 'root@xxx.xxx.xx.x', i, ' date',
                                  sep = '')))

然而,这种情况仍然存在。

sockCluster = makeSOCKcluster(c('root@xxx.xxx.xx.x1', 
                  'root@xxx.xxx.xx.x2',
                  'root@xxx.xxx.xx.x3',
                  'root@xxx.xxx.xx.x4',
                  'root@xxx.xxx.xx.x5'))

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我很困惑你说你正在使用snow包,但示例加载parallelsnowfall。这可能与您的问题有关,但也存在如何指定远程用户的问题。

Snow始终使用ssh -l选项和user选项的值,其默认值为Sys.info()["user"]makeSOCKcluster可能会失败,因为用户是以两种方式指定的,但这让我感到惊讶。我建议您尝试仅指定user选项:

library(snow)
sockCluster <- makeSOCKcluster(c('xxx.xxx.xx.x1', 
                  'xxx.xxx.xx.x2',
                  'xxx.xxx.xx.x3',
                  'xxx.xxx.xx.x4',
                  'xxx.xxx.xx.x5'), user='root')