O h2o falhou ao se conectar quando chamado a partir do R: Java version missmatch
h2o
estava trabalhando antes no meu laptop, mas não o usei por um tempo (e instalei novos pacotes e atualizei as coisas nesse meio tempo). Ontem tentei usá-lo, mas não funcionou. Eu apaguei oR
h2o
empacotado e eu reinstaleih2o
do zero com
install.packages("h2o")
Eu tentei correrh2o
comh2o.init()
mas me dá esse erro
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
Starting H2O JVM and connecting: ............................................................
[1] "localhost"
[1] 54321
[1] TRUE
[1] -1
[1] "Failed to connect to localhost port 54321: Connection refused"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to localhost port 54321: Connection refused
[1] 7
Error in h2o.init() : H2O failed to start, stopping execution.
Quando olho para o log de erros, ele mostra
Only Java 1.6-1.8 supported, version is 9
Tentei procurar mais informações e acho que o erro é acionado poresse código na linha 1836:
if (version != null && !(version.startsWith("1.6") || version.startsWith("1.7") || version.startsWith("1.8"))) {
System.err.println("Only Java 1.6-1.8 supported, version is " + version);
return true;
Assim pareceh2o
está verificando uma versão que começa com 1.6, 1.7 e 1.8, mas minha versão, por algum motivo, começa com 9! No entanto, no terminal,java -version
dá
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (Zulu 8.20.0.5-macosx) (build 1.8.0_121-b15)
OpenJDK 64-Bit Server VM (Zulu 8.20.0.5-macosx) (build 25.121-b15, mixed mode)
ewhich java
dá
/Users/myusername/anaconda3/bin/java
------------ EDIT -------
Mais informações:/usr/libexec/java_home -V
dá
Matching Java Virtual Machines (4):
9, x86_64: "Java SE 9" /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
1.8.0_144, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
1.8.0_51, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
1.8.0_25, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
O que explica a9
esteh2o
está vendo. Acho estranho que ele espera1.x.0
mas a versão é apenas9
. De qualquer forma, parece que preciso apontar queh2o.init()
comando para o1.8
java, mas não consegui descobrir como fazê-lo.
Eu costumo usarbrew
instalar a maioria das coisas, mas eu nunca usojava
então eu não sei nada sobre as versões.
Obrigado e melhor!