当前位置: 首页 > 知识库问答 >
问题:

H2O在R中连接失败

陶博涉
2023-03-14

由于java的版本,我无法在R中启动h2o并收到以下错误

H2O还没有开始跑步,现在开始...

注意:如果出现错误,请查看以下日志文件:C:\Users\Vaibhav\AppData\Local\Temp\RtmpMBUt0r\file1db069d01678/h2o_Vaibhav _started_from_r。输出C:\Users\Vaibhav\AppData\Local\Temp\RtmpMBUt0r\file1db02fcb36fc/h2o_Vaibhav _started_from_r.err

java版本“14.0.1”2020-04-14 java(TM)SE Runtime Environment(构建14.0.1 7)java HotSpot(TM)64位服务器VM(构建14.0.17,混合模式,共享)

正在启动H2O JVM并连接:…………..……….………..HTTP诊断请求:HTTP状态代码:-1 HTTP错误消息:无法连接到本地主机端口54321:连接被拒绝

错误输出:仅支持Java 8、9、10、11、12和13,系统版本为14.0.1 Error in h2o。init(nthreads=-1,max_mem_size=“4g”):H2O无法启动,正在停止执行

共有2个答案

凌修伟
2023-03-14

我能够按照最新稳定版本(当前为rel-zeno/2)的安装说明使用Java 14进行H2O工作:

# The following two commands remove any previously installed H2O packages for R.
if ("package:h2o" %in% search()) { detach("package:h2o", unload=TRUE) }
if ("h2o" %in% rownames(installed.packages())) { remove.packages("h2o") }

# Next, we download packages that H2O depends on.
pkgs <- c("RCurl","jsonlite")
for (pkg in pkgs) {
if (! (pkg %in% rownames(installed.packages()))) { install.packages(pkg) }
}

# Now we download, install and initialize the H2O package for R.
install.packages("h2o", type="source", repos="http://h2o-release.s3.amazonaws.com/h2o/rel-zeno/2/R")

# Finally, let's load H2O and start up an H2O cluster
library(h2o)
h2o.init()

如果你想要一个更新的版本,你需要在最后一行更新repos URL。

当我尝试@pavel pscheidl的答案时(在尝试上述内容之前),我得到了以下错误:

> h2o.init(jvm_custom_args=c("sys.ai.h2o.debug.allowJavaVersions", "14"))

H2O is not running yet, starting it now...

Note:  In case of errors look at the following log files:
    /var/folders/nx/pn7rnnx96f184jt2sdtm52_00000gp/T//RtmpTz7jEz/file88837ecffee3/h2o_username_started_from_r.out
    /var/folders/nx/pn7rnnx96f184jt2sdtm52_00000gp/T//RtmpTz7jEz/file88839672a20/h2o_username_started_from_r.err

openjdk version "14.0.2" 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-46)
OpenJDK 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)

Starting H2O JVM and connecting: ............................................................Diagnostic HTTP Request:
   HTTP Status Code: -1
HTTP Error Message: Failed to connect to localhost port 54321: Connection refused
 
Error Output:
   Error: Could not find or load main class sys.ai.h2o.debug.allowJavaVersions
   Caused by: java.lang.ClassNotFoundException: sys.ai.h2o.debug.allowJavaVersions 
Error in h2o.init(jvm_custom_args = c("sys.ai.h2o.debug.allowJavaVersions",  : 
  H2O failed to start, stopping execution.
叶阳
2023-03-14

您使用的是Java版本14,它在H2O还没有得到官方支持。

有一个JIRA来跟踪Java 14的集成:https://0xdata.atlassian.net/browse/PUBDEV-7647。

在H2O,有一个属性可以覆盖这个默认设置,这将允许您在Java 14中使用H2O,风险自负。这可以通过在启动h2o时设置< code > sys . ai . H2O . debug . allowjavaversions 属性来实现。

  • 如果手动启动,请使用java-Dsys.ai.h2o.debug。allowJavaVersions=14-jar h2o。jar
  • 在Python中,使用:h2o.init(jvm_custom_args=[“sys.ai.h2o.debug.allowJavaVersions”,“14”])
  • 在R中,使用:h2o.init(jvm_custom_args=c(“sys.ai.h2o.debug.allowJavaVersions”,“14”))
 类似资料:
  • 问题内容: 以前可以在笔记本电脑上工作,但我有一段时间没有使用它了(同时已经安装了新软件包并更新了内容)。昨天我尝试使用它,但是没有用。我删除了 打包的文件,并从头开始重新安装 我尝试运行,但它给了我这个错误 当我查看错误日志时,它显示 我试图寻找更多信息,并且我认为该错误是由第1836行的以下代码触发的: 因此,似乎正在检查以1.6、1.7和1.8开头的版本,但由于某种原因我的版本以9开头!然而

  • 我试图通过R使用H2O来构建多个模型,使用一个大型数据集的子集(~ 10GB)。该数据是一年的数据,我试图建立51个模型(即第一周的训练,第二周的预测,等等。)每周大约150-250万行,有8个变量。 我在一个循环中完成了这个操作,我知道这并不总是R中的最佳方法。我发现另一个问题是H2O实体会积累之前的对象,所以我创建了一个函数来删除除主数据集以外的所有对象。 该脚本运行良好一段时间,然后崩溃-经

  • 我使用R命令安装了h2o。这促使我安装了Java的最新版本:版本16。一切都运行得很好——除了在发布时,h2o会唠叨我从h2o.ai网站安装最新版本的h2o,因为用CRAN下载打包的版本已经过时5个月了。 当我下载h2o版本3.32.0.5时,我无法用:我收到消息“仅支持Java 8…14,系统版本为16”。 Java14被列为有安全缺陷,所以我不想从Java16降级;相反,我想恢复到以前版本的h

  • 在使用Spyder在AWS服务器上使用python代码加载数据集时,我得到以下错误: 我正在AWS服务器上的Spyder上运行此python代码。该代码可以正常工作,最多可以运行一半的数据集(1.5gb/3gb),但如果我增加数据大小会引发错误。我尝试将RAM从61gb增加到122 GB,但它仍然给我同样的错误。 加载数据文件 初始化h2o 装载h2o 连接到位于的H2O服务器http://127

  • 代码如下 有人能帮忙吗,是不是在我可以把信息上传到表中之前就关闭连接了?