Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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
H2O和x2B;HDFS(Cloudera)_Hdfs_H2o - Fatal编程技术网

H2O和x2B;HDFS(Cloudera)

H2O和x2B;HDFS(Cloudera),hdfs,h2o,Hdfs,H2o,我们有一个Cloudera集群,它运行在一个h2o实例上,尽管它似乎运行在h2o.jar上(据我所知,如果不正确,请纠正我)是独立的h2o。我可以连接,但它不会从我们的HDFS加载任何文件。(所有这些我都可以通过边缘节点上的“ps”看到 所以我用h2odriver.jar启动了一个实例 java-jar/path/to/h2odriver.jar-nodes 2-mapperXmx 5g-output/my/hdfs/dir 我得到几个输出/回调地址: [可能的回调IP地址:10.96.243.

我们有一个Cloudera集群,它运行在一个h2o实例上,尽管它似乎运行在h2o.jar上(据我所知,如果不正确,请纠正我)是独立的h2o。我可以连接,但它不会从我们的HDFS加载任何文件。(所有这些我都可以通过边缘节点上的“ps”看到

所以我用h2odriver.jar启动了一个实例

java-jar/path/to/h2odriver.jar-nodes 2-mapperXmx 5g-output/my/hdfs/dir

我得到几个输出/回调地址:

[可能的回调IP地址:10.96.243.46:33728]
[可能的回调IP地址:127.0.0.1]
使用映射器->驱动程序回调IP地址和端口:10.96.243.46:33728

因此,我启动python并尝试连接(如果使用10.96.243.46,也会发生同样的情况):

>h2o.连接(ip='127.0.0.1',端口='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系统(我们在企业环境中运行Cloudera 5.7,Python是3.6,H2O是3.10.0.6,我知道我们有大量防火墙/安全性--我相信我们是通过LDAP设置的,
H2O.jar
是H2O的独立版本,不用于连接HDFS

为特定的hadoop发行版使用适当的
h2odriver.jar
,这是一个不错的选择

正确的初学者说明可在此处找到:

  • 选择H2O“最新稳定版本”
  • 选择选项卡“在Hadoop上安装”

它表示要运行以下命令:

hadoop jar h2odriver.jar -nodes 1 -mapperXmx 6g -output hdfsOutputDirName
[注意这是“hadoop jar”,而不是问题中所写的“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...
然后,将您的web浏览器指向显示“在web浏览器中打开H2O流”的位置

(输出中的其他地址为诊断,不适用于最终用户。)

在本例中,python连接命令为:

h2o.connect(ip = '172.16.2.188', port = 54321)


我建议您进入web浏览器,输入“hdfs://”,开始导入文件,然后查看自动完成是否有效。如果有效,您的hdfs连接正在工作。

切换到“hadoop jar”就成功了。我从未看到集群出现(“请求flatfiles部分”)使用该开关,服务器启动,我可以连接。由于地址被防火墙阻止(我怀疑),我无法访问Flow,但可以通过python连接,并确认我可以通过hdfs导入。--编辑一旦我计算出Flow服务器的“名称”,我就可以通过防火墙连接(地址不起作用——但还是防火墙,不是h2o)。