我正在尝试使用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'))
我错过了什么?
答案 0 :(得分:0)
我很困惑你说你正在使用snow
包,但示例加载parallel
和snowfall
。这可能与您的问题有关,但也存在如何指定远程用户的问题。
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')