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

时间:2016-07-13 12:32:19

标签: r amazon-web-services amazon-ec2 cluster-computing h2o

我想知道如何使用多个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命令行启动集群...因为我不是我已经提到的计算机科学家,所以出现了一些问题:< / p>

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

1 个答案:

答案 0 :(得分:6)

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到主目录中的每个节点。 (将公共IP用于scp。)

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

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

_4。首先确保您的Amazon防火墙(又名&#34;安全组&#34;)中的端口8787已打开。一旦确定H2O集群正在运行(假设您已经安装了H2O R软件包,并确保它与集群中每个节点上的版本完全相同),那么您只需执行以下操作:

library(h2o)
h2o.init()

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

<强>除了:

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

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

他们为您完成了几乎所有步骤,包括制作flatfile,分发它,以及在每个节点上启动H2O。您仍然需要设置一个安全组(好吧,我想可选:脚本默认是没有安全组!),您需要为用于登录RStudio的用户设置密码。你需要安装H2O R软件包(如果你厌恶命令行,我可以在RStudio中完成 think )。