2016-05-23 4 views
1

Я пытаюсь подключиться к кластеру, размещенный на EC2 машине из R и получить ту же ошибку при попытке как на Windows, и Mac:Ошибка при вызове h2o.init() в R для подключения к удаленному кластеру

> h2o.init(ip = "<Public IP>") 
Connection successful! 


ERROR: Unexpected HTTP Status code: 404 Not Found (url = http://<Public IP>:54321/3/Cloud?skip_ticks=true) 

Error: lexical error: invalid char in json text. 
             <!DOCTYPE html> <html lang="en" 
        (right here) ------^ 
  • кластер доступен в http://<Public IP>:54321/
  • Запуск локального кластера с h2o.init() также отлично работает в R, так что проблема только при попытке подключения к удаленному один.

Я видел следующее issue, отмеченное как разрешенное, но это не помогает в моем случае. Кто-нибудь испытал что-то подобное?


UPD: Ответ был очень прост. Оказывается, пример кода, приведенный в их guide for EC2, устарел и использует старую версию H2O. Используя самую последнюю версию (3.9.1.5555 на данный момент) на машинах EC2, она решила проблему.

+1

Вы уверены, что пакет h2o R, который у вас есть локально, и кластер H2O, который вы используете удаленно, - это одна и та же версия? –

+0

Это полезно, но вместо того, чтобы редактировать свой вопрос с ответом, вы должны ответить на свой вопрос и принять его. – C8H10N4O2

ответ

1

Выработать на обновление операционного, в при использовании удаленного кластера:

Убедитесь, что вы установите последнюю версию (проверьте S3 download page для переадресации на номер релиза). В приведенном ниже примере это 3.13.0.3908:

wget http://s3.amazonaws.com/h2o-release/h2o/master/3908/h2o-3.13.0.3908.zip 
unzip h2o-3.13.0.3908.zip 
mv h2o-3.13.0.3908 h2o 
cd h2o 
java -Xmx4g -jar h2o.jar 

Затем нужно установить версию h2o-R, которая соответствует этой версии. (Правильный вариант, скорее всего, не CRAN версия.) В противном случае вы получите сообщение об ошибке, как:

Error in h2o.init(ip = "XXX.XX.XX.XXX", startH2O = FALSE) : 
    Version mismatch! H2O is running version 3.13.0.3908 but h2o-R package is version 3.10.4.6. 
     Install the matching h2o-R version from - http://h2o-release.s3.amazonaws.com/h2o/master/3908/index.html 

Так что вам нужно обратить внимание на номер версии H2O запущен (в приведенном выше примере, 3908), сделать что вы ранее удалили все существующие h2o-R пакет (см here для получения дополнительной информации), а затем сделать:

install.packages("h2o", type="source", repos="http://h2o-release.s3.amazonaws.com/h2o/master/3908/R") 

Теперь он должен работать:

library('h2o') 
remoteH2O <- h2o.init(ip='XXX.XX.XX.XXX', startH2O=FALSE) # Connection successful!