我们有一个Cloudera集群,并使用一个h2o实例运行,尽管它似乎是从h2o.jar上运行的(据我理解--如果不正确,请纠正我)是独立的h2o。我可以连接,但它不会从我们的HDFS加载任何文件。(所有这些我都可以通过边缘节点上的'ps‘看到。
所以我用h2odriver.jar启动了一个实例
java -jar /path/to/h2odriver.jar -nodes 2 -mapperXmx 5g -output /my/hdfs/dir
我得到了几个输出/回调地址:
[Possible callback IP address: 10.96.243.46:33728] [Possible callback IP address: 127.0.0.1] Using mapper->driver callback IP address and port: 10.96.243.46:33728
因此,我启动python并尝试连接(如果使用10.96.243.46,也会发生同样的情况):
>>>h2o.connection(ip='127.0.0.1', port='33728')
并获取
'Connecting to H2O server at http://127.0.0.1:33728..... failed.
H2OConnectionError: COuld not estalich link to the H2O cloud http://127.0.0.1:33728 after 5 retries
...
Failed to establish a new connection:[Errno 111] Connection refused',))`在我的屏幕上,可以看到H2O jar/java作业:
`MapperToDriverMessage: Read invalid type (G) from socket, ignoring...
MapperToDriverMessage: read: Unknown Type `我不知道如何在集群模式下启动h2o,并让它访问我们的hdfs系统,甚至连接。我可以连接到h2o.jar版本,但是没有看到hdfs (它可以看到edgenode的文件系统)。启动H2O的正确方法是什么,这样它就可以看到附加的HDFS系统(我们在企业环境中运行Cloudera5.7,Python是3.6,H2O是3.10.0.6,我知道我们有大量的防火墙/安全性-我相信我们是通过LDAP安装的。)
发布于 2017-11-18 21:52:20
正确的是,h2o.jar是H2O的独立版本,而不是连接到HDFS的独立版本。
对特定的hadoop发行版使用适当的h2odriver.jar是可行的。
正确的初学者说明可以在这里找到:
它说要运行以下命令:
hadoop jar h2odriver.jar -nodes 1 -mapperXmx 6g -output hdfsOutputDirName注意,这是"hadoop“,而不是问题中所写的"java -jar”。
您应该看到这样的输出:
Determining driver host interface for mapper->driver callback...
[Possible callback IP address: 172.16.2.181]
[Possible callback IP address: 127.0.0.1]
...
Waiting for H2O cluster to come up...
H2O node 172.16.2.188:54321 requested flatfile
Sending flatfiles to nodes...
[Sending flatfile to node 172.16.2.188:54321]
H2O node 172.16.2.188:54321 reports H2O cluster size 1
H2O cluster (1 nodes) is up
(Note: Use the -disown option to exit the driver after cluster formation)
Open H2O Flow in your web browser: http://172.16.2.188:54321
(Press Ctrl-C to kill the cluster)
Blocking until the H2O cluster shuts down...然后把你的浏览器指向上面写着“打开你的浏览器中的H2O流”的地方。
(输出中的其他地址是诊断,而不是针对最终用户的。)
在这种情况下,python连接命令将是:
h2o.connect(ip = '172.16.2.188', port = 54321)我建议在web浏览器中进行流,通过输入"hdfs://“开始导入文件,并查看自动完成是否有效。如果是的话,HDFS连接就可以工作了。
https://stackoverflow.com/questions/47371242
复制相似问题