Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从Python[H2o.ai]连接到正在运行的H2o服务器_Python_Hadoop_H2o - Fatal编程技术网

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

无法从Python[H2o.ai]连接到正在运行的H2o服务器,python,hadoop,h2o,Python,Hadoop,H2o,从主节点连接到EMR核心节点上运行的H2o服务器时出错 import h2o h2o.connect(url="http://IP:54321") 错误跟踪 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>

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

import h2o
h2o.connect(url="http://IP:54321")
错误跟踪

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'
连接到位于的H2O服务器http://IP:54321... 成功的
回溯(最近一次呼叫最后一次):
文件“/home/hadoop/TataCliqEMR/app/__init__uuu.py”,第3行,在
h2o.连接(ip=“ip”,端口=54321)
文件“/usr/local/lib/python3.4/site packages/h2o/h2o.py”,第86行,在connect中
h2oconn.cluster.show_status()
文件“/usr/local/lib/python3.4/site packages/h2o/backend/cluster.py”,第190行,处于显示状态
[“H2O内部安全:”,自我内部安全已启用],
文件“/usr/local/lib/python3.4/site packages/h2o/backend/cluster.py”,第121行,启用内部安全
返回自我。_道具[“内部安全已启用”]
KeyError:“内部\u安全\u已启用”

原因是H2O后端和客户端的版本不兼容(在本例中,客户端是H2OPython模块)。本地使用的H2O后端(集群上运行的Java进程)和PythonH2O模块的版本必须相同

它似乎是您的服务器(位于
”http://IP:54321“
)正在运行较旧版本的H2O。由于您已经有一个正在运行的H2O集群正在尝试连接,因此最好的解决方案可能是安装不同版本的H2OPython模块(而不是相反)

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

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

http://h2o-release.s3.amazonaws.com/h2o/rel-ueno/2/index.html
或者您也可以找出
.whl
文件的确切位置:

pip install http://h2o-release.s3.amazonaws.com/h2o/rel-ueno/2/Python/h2o-3.10.4.2-py2.py3-none-any.whl

写这个回复让我意识到找到旧版本的链接不是件小事,所以我添加了一个解决方案。

请指出您运行的是哪个版本的H2O。如果不是最新的稳定版本,请确保升级,再试一次,看看是否可以修复。后续说明:有人向我指出,通过谷歌搜索“h2o 3.10.4.2”很容易找到下载页面