在 AWS EC2 上使用 h2o 安装多节点集群

Multi node cluster installation with h2o on AWS EC2

我想知道如何使用多个 AWS EC2 实例和 R-Studio 设置 h2o 集群。我不是计算机科学家,很抱歉提出一些琐碎的问题 (!)

基于本教程 (http://amunategui.github.io/h2o-on-aws/),我在 AWS EC2 实例 (Linux) 上成功安装了 h2o 和 R-Studio。但我更想创建一个多实例集群,假设有 4 个实例,每个实例有 8 个核心。

在这个 (http://h2o-release.s3.amazonaws.com/h2o/rel-lambert/5/docs-website/deployment/multinode.html) 文档之后,我需要一个 flatfile.txt,我可以在其中列出每个 EC2 实例的所有 IP 和端口。在下一步中,我必须将此文件复制到集群中的每个节点,然后我需要通过 java 命令行启动集群...因为我不是我已经提到的计算机科学家,一些出现的问题:

  1. 在哪里可以找到每个 h2o 实例的 IP 和端口?
  2. 如何将生成的文件复制到每个节点?
  3. 从第5步开始,我完全糊涂了;我必须在哪里插入这一行/我在哪里可以找到 java 命令行?
  4. 我不想使用 h2o 的 Web UI,那么如何从 R-Studio(安装在其中一个实例上)访问集群?

在此先感谢您!

1a。在哪里获取IP? 当您创建每个 EC2 实例时,您会被告知。这是你想要的私有IP(通常以172开头。) (顺便说一句,确保你在同一个可用区中创建它们。)

1b。使用 54321 作为端口。所以你的 3 节点的 flatfile.txt 可能看起来像:

172.31.1.123:54321
172.31.2.237:54321
172.44.99.99:54321

_2。您可以在笔记本上创建 flatfile.txt,然后将其 scp 到主目录中的每个节点。 (对 scp 使用 public IP。)

_3。依次 ssh 到每台机器,然后从主目录键入该命令,例如

 java -Xmx20g -jar h2o.jar -flatfile flatfile.txt -port 54321

_4。首先确保端口 8787 在您的 Amazon 防火墙中打开(又名 "security group")。一旦你确定 H2O 集群是 运行 (假设你已经安装了 H2O R 包,并确保它与集群中每个节点上的版本完全相同)那么你只需执行:

library(h2o)
h2o.init()

h2o.init() 在本地计算机上查找集群中的任何节点。


旁白:

我一直在使用的是在这里找到的脚本:

https://github.com/h2oai/h2o-3/tree/master/ec2

他们几乎为您完成了所有步骤,包括制作平面文件、分发它以及在每个节点上启动 H2O。您仍然需要设置一个安全组(好吧,我想是可选的:脚本默认是没有安全组的!),并且您需要为将用于登录 RStudio 的用户设置密码。并且您需要安装 H2O R 包(我 认为 如果您不喜欢命令行,可以从 RStudio 内部完成)。