0

我正在尝试使用 Rsnow包建立一个 SOCKit 集群。

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

正如在这个问题中一样,我已经成功地将公钥复制到那些机器上,这样无密码身份验证就可以工作了。从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'))

我错过了什么?

4

1 回答 1

0

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

-lSnow 始终使用带有选项值的 ssh选项,该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')
于 2013-05-28T11:20:47.403 回答