H2O no se pudo conectar cuando se llamó desde R: desajuste de versión de Java
h2o
estaba funcionando antes en mi computadora portátil, pero no la usé por un tiempo (y mientras tanto he instalado nuevos paquetes y cosas actualizadas). Ayer intenté usarlo, pero no funcionó. Borré elR
h2o
empaquetado y he reinstaladoh2o
desde cero con
install.packages("h2o")
Intenté correrh2o
conh2o.init()
pero me da este error
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.
Cuando miro el registro de errores, muestra
Only Java 1.6-1.8 supported, version is 9
Traté de buscar más información y creo que el error se desencadena poreste codigo en línea 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;
Así pareceh2o
está buscando una versión que comience con 1.6, 1.7 y 1.8 pero mi versión por alguna razón comienza con 9. Sin embargo, en la terminal,java -version
da
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)
ywhich java
da
/Users/myusername/anaconda3/bin/java
------------ EDITAR -------
Más información:/usr/libexec/java_home -V
da
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
Lo que explica el9
eseh2o
está viendo. Me parece raro que espere1.x.0
pero la versión es solo9
. En cualquier caso, parece que necesito señalar queh2o.init()
comando al1.8
Java, pero no pude entender cómo hacerlo.
Yo suelo usarbrew
para instalar la mayoría de las cosas, pero nunca usojava
así que no sé nada sobre las versiones.
Gracias y lo mejor!