关于我之前的类似SO问题,我尝试在AWS上使用snow/snowfall进行并行计算。
我所做的是:
如果用户能分享他们在AWS上使用snow的经验,我将非常感激。
我所做的是:
- 在
sfInit()
函数中,我提供了公共DNS到socketHosts
参数,如下所示:sfInit(parallel=TRUE,socketHosts =list("ec2-00-00-00-000.compute-1.amazonaws.com"))
- 返回的错误是
Permission denied (publickey)
- 然后我按照http://www.imbi.uni-freiburg.de/parallel/中“无密码安全Shell(SSH)登录”部分的说明操作(我认为是正确的!)
- 我只是将我在AWS上创建的.pem文件的内容复制到我的主AWS实例和要连接的AWS实例的~/.ssh/authorized_keys中
如果用户能分享他们在AWS上使用snow的经验,我将非常感激。
非常感谢您的建议。
更新: 我想更新我找到的解决方案,以解决我的特定问题:
- 我使用StarCluster设置了我的AWS集群:StarCluster
- 在所有节点上安装了
snowfall
软件包 - 从主节点发出以下命令
hostslist < - list("ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com","ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com")
sfInit(parallel=TRUE, cpus=2, type="SOCK",socketHosts=hostslist)
l < - sfLapply(1:2,function(x)system("ifconfig",intern=T))
lapply(l,function(x)x[2])
sfStop()
- IP信息证实了AWS节点正在被利用