使用雪(和降雪)与AWS为平行处理的R
-
27-10-2019 - |
题
在关系到我早些时候 类似这样的问题 , 我试图使用雪/雪上AWS为并行计算。
我所做的就是:
- 在
sfInit()
功能,我提供的公共DNSsocketHosts
参喜欢这样sfInit(parallel=TRUE,socketHosts =list("ec2-00-00-00-000.compute-1.amazonaws.com"))
- 返回的错误是
Permission denied (publickey)
- 我再接着说明(我认为正确!) 上 http://www.imbi.uni-freiburg.de/parallel/ 在'无密码的安全外壳(SSH)登录'的部分
- 我只是猫的内容。pem文件,我在创建AWS入~/.ssh/authorized_keys的实例,我要连接由我的主人AWS实例和为主AWS实例
有什么我错过了?我将非常感激如果用户能够分享他们的经验中使用雪上限。
非常感谢您对您的建议。
更新:我只是想要更新的解决方案,我发现我的特定问题:
- 我用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()
- 该知识产权信息证实,AWS节点已被利用
其他提示
看起来不错但pem文件是错误的。但它有时也不这么简单,许多人必须打击与这个问题。很多提示你就可以找到这个员额:
从我的经验大多数人有问题,在这些步骤:
- 你可以登录到的机通过ssh?(ssh ec2-00-00-00-000.compute-1.amazonaws.com).尝试使用公共DNS、不公共IP连接。
- 你应该检查你的"安全集团"。如果22端口是开放供所有机器!
如果你计划要开始超过10个工作计算机,你应该在一个MPI安装在机器(更好的业绩!)
Markus从cloudnumbers.com :-)
不隶属于 StackOverflow