首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从Python[H2O.ai]连接到正在运行的H2O.ai服务器

无法从Python[H2O.ai]连接到正在运行的H2O.ai服务器
EN

Stack Overflow用户
提问于 2017-05-04 05:49:47
回答 1查看 1.7K关注 0票数 1

从主节点连接到在EMR核心节点上运行的H2o服务器时出错。

代码语言:javascript
复制
import h2o
h2o.connect(url="http://IP:54321")

误差跟踪

代码语言:javascript
复制
Connecting to H2O server at http://IP:54321... successful.
Traceback (most recent call last):
  File "/home/hadoop/TataCliqEMR/app/__init__.py", line 3, in <module>
    h2o.connect(ip="IP", port=54321)
  File "/usr/local/lib/python3.4/site-packages/h2o/h2o.py", line 86, in connect
    h2oconn.cluster.show_status()
  File "/usr/local/lib/python3.4/site-packages/h2o/backend/cluster.py", line 190, in show_status
    ["H2O internal security:",     self.internal_security_enabled],
  File "/usr/local/lib/python3.4/site-packages/h2o/backend/cluster.py", line 121, in internal_security_enabled
    return self._props["internal_security_enabled"]
KeyError: 'internal_security_enabled'

这里也没有人回答

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-05 01:57:24

造成这种情况的原因是H2O后端和客户端的版本不兼容(在本例中,客户机是h2o Python模块)。本地使用的H2O后端(运行在集群上的Java )和Python h2o模块的版本必须相同。

似乎您的服务器(在"http://IP:54321")正在运行一个较旧版本的H2O。由于您已经有了要连接到的H2O集群,所以最好的解决方案可能是安装h2o Python模块的不同版本(而不是相反)。

如果您不知道您的服务器正在运行哪个版本,那么您可以查看日志,或者您可以尝试h2o.init(ip=IP),它应该返回一个正确的“版本不匹配”错误,这将告诉您两个版本。

要下载h2o Python模块的特定版本,可以在Changes.md中查找发行版名称(例如,),然后转到下载页面URL。例如,如果我想下载3.10.4.2,我会在上面链接的Changes.md上搜索"3.10.4.2“,看看版本名是"Ueno”。有了这些信息,您可以为该版本的下载页面构造URL,例如:

代码语言:javascript
复制
http://h2o-release.s3.amazonaws.com/h2o/rel-ueno/2/index.html

或者您也可以确定.whl文件的确切位置:

代码语言:javascript
复制
pip install http://h2o-release.s3.amazonaws.com/h2o/rel-ueno/2/Python/h2o-3.10.4.2-py2.py3-none-any.whl

编写这个响应让我意识到查找到旧版本的链接并不简单,所以我添加了一个JIRA来修复这个问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43774821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档