2013-05-28 2 views
0

Я пытаюсь установить кластер SOCKet, используя пакет R snow.R SOCKet-кластер

У меня есть доступ к 5 машин с IP-адресами: xxx.xxx.xx.x1 xxx.xxx.xx.x2 xxx.xxx.xx.x3 xxx.xxx.xx.x4 ххх. 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]2', 
        '[email protected]', 
        '[email protected]', 
        '[email protected]')) 

Что мне не хватает?

ответ

0

Я смущен, что вы говорите, что используете пакет snow, но пример загружает parallel и snowfall. Это может иметь какое-то отношение к вашей проблеме, но есть также вопрос о том, как указать удаленного пользователя.

Снег всегда использует опцию 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

'parallel' вбирает' snow' и 'multicore'. – tchakravarty

+0

@fgnu Но 'makeSOCKcluster' определяется в' snow'. Если вы хотите использовать 'parallel', вы должны использовать' makePSOCKcluster'. И «снег» по-прежнему необходим, если вы хотите использовать кластер MPI, поэтому он не полностью включен в 'parallel'. –

Смежные вопросы