【问题标题】:Using snow (and snowfall) with AWS for parallel processing in R在 AWS 中使用雪(和降雪)在 R 中进行并行处理
【发布时间】:2011-11-12 02:59:53
【问题描述】:

关于我之前的 similar SO question ,我尝试在 AWS 上使用 snow/snowfall 进行并行计算。

我所做的是:

  • sfInit() 函数中,我将公共DNS 提供给socketHosts 参数,如下所示 sfInit(parallel=TRUE,socketHosts =list("ec2-00-00-00-000.compute-1.amazonaws.com"))
  • 返回的错误是Permission denied (publickey)
  • 然后我按照“无密码安全外壳 (SSH) 登录”部分中 http://www.imbi.uni-freiburg.de/parallel/ 上的说明(我认为是正确的!)
  • 我只是将我在 AWS 上创建的 .pem 文件的内容放入我想要从我的主 AWS 实例和主 AWS 实例连接的 AWS 实例的 ~/.ssh/authorized_keys 中李>

我有什么遗漏的吗? 如果用户可以分享他们在 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()
  • ip 信息确认 AWS 节点正在被使用

【问题讨论】:

  • 我相信 .pem 文件是 X509 证书,而不是 RSA 公钥。您应该按照章节中的描述在主节点上生成密钥对,并将公钥复制到从节点的 authorized_keys 中。
  • 我相信@Anatoliy 是正确的;他应该对此做出回答,而不仅仅是评论,这样我们就可以投票了。 :)
  • 也许忽略我对您关于“使用 StarCluster”的其他问题的回答,就像我现在看到的那样,但是试一试在私有 IP 范围内运行整个集群,我不需要对密钥大惊小怪或证书,一旦我开始这样做。

标签: r parallel-processing amazon-web-services snowfall starcluster


【解决方案1】:

看起来还不错,但 pem 文件有误。但有时并不是那么简单,很多人不得不与这个问题作斗争。您可以在这篇文章中找到很多提示:

根据我的经验,大多数人在这些步骤中都会遇到问题:

  • 可以通过 ssh 登录机器吗? (ssh ec2-00-00-00-000.compute-1.amazonaws.com)。尝试使用公共 DNS,而不是公共 IP 进行连接。
  • 如果 22 端口对所有机器开放,您应该检查 AWS 中的“安全组”!

如果您计划启动 10 台以上的工作机器,您应该在您的机器上安装 MPI(性能要好得多!)

来自 cloudnumbers.com 的 Markus :-)

【讨论】:

  • 我可以ssh进入从节点,所有机器都属于同一个安全组。我也使用公共 DNS 进行连接。
【解决方案2】:

我相信@Anatoliy 是正确的:您使用的是 X.509 证书。有关添加 SSH 密钥的具体步骤,请查看EC2 Starters Guide 的“凭据类型”部分。

要上传您自己的 SSH 密钥,请查看 this page from Alestic

一开始有点混乱,但您需要清楚哪些是您的访问密钥、证书和密钥对,它们可能会出现在带有 DSA 或 RSA 的文本文件中。

【讨论】:

  • 感谢您的链接。不知何故,这比我预期的要多毛。
  • 它变得更容易了,但不感谢亚马逊的介绍材料——它们通常只有在一个人掌握了一切之后才有意义。 Alestic 是一个值得了解的好网站。
  • 仅供参考,StarCluster 有一个“createkey”命令将为您创建一个新的 EC2 密钥对:$ starcluster createkey mykey -o ~/.ssh/ec2key.rsa
猜你喜欢
  • 2015-02-13
  • 2020-10-02
  • 1970-01-01
  • 2016-05-21
  • 2016-06-26
  • 1970-01-01
  • 2011-11-06
  • 1970-01-01
  • 2018-11-17
相关资源
最近更新 更多