[TOC]
一、运行环境要求
1、操作系统:
Windows 7或更高版本
OS X 10.9或更高版本
Ubuntu 12.04
RHEL / CentOS 6或更高版本
2、语言:
Java是必需的,支持版本包括:Java 8, 9, 10, 11 和12
要构建H2O或运行H2O测试,需要64位JDK。
要使用命令行,R或Python软件包运行二进制文件,仅需要64位JRE。
Scala 2.10或更高版本
R版本3或更高版本
Python 2.7.x,3.5.x,3.6.x
浏览器:支持的版本包括最新版本的Chrome,Firefox,Safari或Internet Explorer。
二、启动参数说明
从命令行启动时,可以包括有关说明,例如要启动多少个节点,为每个节点分配多少内存,为群集中的节点分配名称等等。
注意: 需要在/tmp目录中有一些空间才能启动。 如果无法启动,请尝试释放/tmp目录中的一些空间,然后再次尝试启动。
有三种不同的参数类型:
- JVM选项
- H2O选项
1、参数使用以下格式
java <JVM选项> -jar h2o.jar <h2o选项>
2、JVM选项
-version :显示Java版本信息
-Xmx<堆大小> :要设置节点的堆大小,请配置内存分配选项 -Xmx 。默认设置1Gb (-Xmx1g)。启动节点时,建议总分配的值为四倍数据的内存。
注意:请勿尝试使用超过系统可用内存的内存启动。
3、H2O选项
-h
或-help
:在命令行输出中显示此信息。-version
: 指定以打印版本信息并退出。-name <ClusterName>
:为集群中的实例分配一个名称(<ClusterName>
是集群的名称。具有相同集群名称的节点将形成一个集群(也称为云)。-flatfile <FileName>
:指定IP地址的flatfile文件以加快群集形成(其中<FileName>
是flatfile的名称)。-
-ip <IPnodeAddress>
:为机器指定IP,而不是默认的localhost,例如:- IPv4:
-ip 178.16.2.223
- IPv6:
-ip 2001:db8:1234:0:0:0:0:1
(不支持带::的简短IPv6版本)
- IPv4:
-port <#>
:指定用于REST API的PORT。 通信端口将是值+1更高的端口。-baseport
:指定为REST API查找可用端口的起始端口,内部通信端口将是值+1高的端口。-network
:指定带有子网掩码的IP地址。 IP地址发现代码绑定到与逗号分隔列表中的一个网络匹配的第一个接口;要指定范围,请使用逗号分隔IP地址:-network 123.45.67.0/22,123.45.68.0/24。 例如,10.1.2.0/24支持256种可能性。 支持IPv4和IPv6地址。例如:-
IPv4:
-network 178.0.0.0/8
- IPv6:
-network 2001:db8:1234:0:0:0:0:0/48
(不支持带::的简短IPv6版本)
- IPv6:
-ice_root <fileSystemPath>
:指定临时数据溢出到磁盘的目录。fileSystemPath 默认目录:/tmp/h2o-<userNmae>
-log_dir <fileSystemPath>\
: 指定日志写入磁盘的目录。fileSystemPath 默认目录:/tmp/h2o-<UserNmae>
(<UserName>
为当前系统用户名称)。-log_level <TRACE,DEBUG,INFO,WARN,ERRR,FATAL>
:记录级别或更高级别写入消息。 默认值为INFO。-flow_dir <server-side or HDFS directory>
: 指定保存的流的目录。默认目录:/Users/<UserName>/h2oflows
(<UserName>
为当前系统用户名称)。注:如果指定目录不存在,它将在您第一次保存流时创建。-nthreads <#ofThreads>
:指定低优先级批处理工作队列中的最大线程数(其中<#ofThreads>是线程数)。-notify_local
:指定当节点启动时要写入的文件。 文件系统路径包含一行,其中包含嵌入式Web服务器的IP和端口。 例如,192.168.1.100:54321。-context_path
:Jetty的上下文路径。-
features
: 禁用被认为是实验性或Beta版的功能。 目前,这仅适用于算法。 选项包括:-
stable
:仅启用稳定算法; 测试版和实验版不会。 -
beta
:仅启用beta和稳定算法; 实验不会。 -
experimental
:启用所有算法(默认)。
-
三、联网
1、内部通讯
默认情况下,使用以下过程,自动选择IP和端口(PORT)进行内部通信:
- 检索可用接口(已启动)的列表。
- 使用顶部的“绑定”界面对它们进行排序。
- 对于每个接口,提取关联的IP。
- 仅选择可达的IP(过滤由接口提供的IP,例如awdl):
注意:通过查找从端口54322开始的空闲端口来选择端口。可以通过以下选项来更改IP,PORT和网络选择:
-ip
network
-port
-baseport
2、集群介绍
在启动期间,新的节点会加入以形成集群。 在群集上开始作业后,它将阻止新成员加入。
-
要启动具有4GB内存和默认集群名称的H2O节点,请执行以下操作:
java -Xmx4g -jar h2o.jar
-
要启动具有6GB内存和特定群集名称的H2O节点,请执行以下操作:
java -Xmx6g -jar h2o.jar -name MyCluster
-
要使用默认群集名称启动具有三个2GB节点的H2O群集:
java -Xmx2g -jar h2o.jar & java -Xmx2g -jar h2o.jar & java -Xmx2g -jar h2o.jar &
等待INFO:Registered:#schemas in:#mS输出中,然后再次输入上述命令以添加另一个节点(#的数目将有所不同)。
3、云化:集群创建
H2O提供了两种集群创建模式:
- Multicast based
- Flatfile based
Multicast:
在这种模式下,H2O使用IP多播来宣布H2O节点的存在。 每个节点都基于指定的共享群集名称选择相同的多播组和端口(请参见-name选项)。 例如:
对于IPv4 / PORT,生成的多播组是228.246.114.236:58614(对于群集名称michal)。
对于IPv6 / PORT,生成的多播组为ff05:0:3ff6:72ec:0:0:3ff6:72ec:58614(用于群集名称michal和强制执行本地链接范围的本地链接地址)。
Flatfile:
flatfile文件描述了群集的拓扑。 文件定义是通过-flatfile选项传递的。 它需要在集群中的每个节点处传递,但每个节点的定义都不同。 但是,所有定义的传递闭包应包含所有节点。 例如,对于以下定义
Nodes | nodeA | nodeB | nodeC |
---|---|---|---|
Flatfile | A,B | A, B | B, C |
结果群集将由节点A,B,C组成。节点A通过节点B平面文件定义可传递地看到节点C,反之亦然。
flatfile文件包含将组成结果集群的IP:PORT形式的节点列表(每个节点单独一行,#前缀的内容都将被忽略)。 在多节点群集上运行,可以比单节点上使用更多的内存用于大型任务(例如,从庞大的数据集创建模型)。
IPv4:
# run two nodes on 108
10.10.65.108:54322
10.10.65.108:54325
IPv6:
0:0:0:0:0:0:0:1:54321
0:0:0:0:0:0:0:1:54323
4、注意:
多点集群时, 页面操作访问 集群中任何一个节点地址就行。
Ip:服务器ip Port:根据系统自动生成,默认:54321
通过浏览器打开:http://172.16.33.107:54321