2013-05-28 114 views
0

我正在尝试使用R snow软件包建立SOCKet集群。R基于SOCKet的集群

我有机会获得5台机器的IP地址: 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 ', '[email protected]', i, ' date', 
            sep = ''))) 

但是,这个挂起。

sockCluster = makeSOCKcluster(c('[email protected]', 
        '[email protected]', 
        '[email protected]', 
        '[email protected]', 
        '[email protected]')) 

我错过了什么?

回答

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') 
+0

'并行'包含'雪'和'多核'。 – tchakravarty

+0

@fgnu但'makeSOCKcluster'在'snow'中定义。如果你想使用'parallel',你应该使用'makePSOCKcluster'来代替。如果你想使用MPI集群,'snow'仍然是必要的,所以它不能被parallel并入。 –