我想知道如何使用多个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>
提前非常感谢你!
答案 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 )。