r - 在 AWS 中使用雪(和降雪)在 R 中进行并行处理

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

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

我所做的是:

  • sfInit()函数,我将公共(public) 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/ 上的说明(我猜对了!)在“无密码安全外壳 (SSH) 登录”部分
  • 我只是将我在 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 文件是错误的。但有时并不是那么简单,很多人不得不与这个问题作斗争。您可以在这篇文章中找到很多提示:

  • https://forums.aws.amazon.com/message.jspa?messageID=241341
  • 或者查看谷歌的其他帖子。

  • 根据我的经验,大多数人在这些步骤中都会遇到问题:
  • 您可以通过 ssh 登录机器吗? (ssh ec2-00-00-00-000.compute-1.amazonaws.com)。尝试使用公共(public) DNS,而不是公共(public) IP 进行连接。
  • 如果 22 端口对所有机器开放,您应该检查 AWS 中的“安全组”!

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

    来自 cloudnumbers.com 的 Markus :-)

    关于r - 在 AWS 中使用雪(和降雪)在 R 中进行并行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7333801/

    相关文章:

    r - 将 runif() 应用于下限和上限向量

    java - 我如何知道 Java Stream collect(Collectors.toMap) 是否并行化?

    r - 在 r 中应用函数太慢

    xml - XSLT - 适合任务吗?

    python - 如何使用python并行查询数据库

    node.js - AWS Lambda SDK - TooManyRequestsException

    amazon-web-services - 如何找出谁上传了 S3 存储桶中的数据

    amazon-web-services - AWS Lambda S3 事件无限循环

    html - 如何在 R 中用 NA 替换空单元格?

    r - split apply combine w/function 或 purrr package pmap?