帮我通过 Amazon 的 EC2 复制数据并运行脚本

Posted

技术标签:

【中文标题】帮我通过 Amazon 的 EC2 复制数据并运行脚本【英文标题】:Help me copy data over the Amazon's EC2 and run a script 【发布时间】:2011-03-04 16:25:14 【问题描述】:

就使用云计算而言,我是新手,但我了解这个概念并且非常擅长遵循说明。我想对我的数据进行一些模拟,每一步都需要几分钟。鉴于我的数据中的层次结构,每组需要几个小时。我想通过在 Amazon 的 EC2 云上运行它来加速它。

阅读this 后,我知道如何启动 AMI,通过 shell 连接到它,并在命令提示符下启动 R。

我需要帮助的是能够复制数据(.rdata 文件)和脚本,并且只需在 R 命令提示符下获取它。然后,将所有结果写入新的 .rdata 文件后,我想将它们复制回我的本地计算机。

我该怎么做?

【问题讨论】:

有些服务可以让您轻松完成这项工作。参见,例如,monkeyanalytics.com 或 biocep-distrib.r-forge.r-project.org monkeyanalytics 看起来不错,但不幸的是它们似乎没有上线(或者至少他们的注册不是即时的)。不过,我很欣赏这些提醒。 【参考方案1】:

我对 R 了解不多,但我用其他语言做类似的事情。我的建议可能会给你一些想法。

    在本地计算机上设置 FTP 服务器。 创建一个随实例启动的“启动脚本”。 让启动脚本从您的本地机器下载 R 文件,初始化 R 并进行计算,然后将新文件上传到您的机器。

启动脚本:

#!/bin/bash
set -e -x
apt-get update && apt-get install curl + "any packages you need"
wget ftp://yourlocalmachine:21/r_files > /mnt/data_old.R
R CMD BATCH data_old.R -> /mnt/data_new.R
/usr/bin/curl -T /mnt/data_new.r -u user:pass ftp://yourlocalmachine:21/new_r_files

使用启动脚本启动实例

ec2-run-instances --key KEYPAIR --user-data-file my_start_up_script ami-xxxxxx

【讨论】:

【参考方案2】:

第一个 id 使用亚马逊 S3 存储文件从您的本地机器和从实例返回 如前所述,您可以创建启动脚本,甚至可以将您自己的自定义 AMI 与所有需要的设置捆绑在一起,并从中运行您的实例 所以从 S3 中的存储桶下载文件,执行和处理,最后将结果上传回 S3 中的相同/不同存储桶 假设数据比 S3 成本/可用性小(脚本可以有多大)将非常有效

【讨论】:

以上是关于帮我通过 Amazon 的 EC2 复制数据并运行脚本的主要内容,如果未能解决你的问题,请参考以下文章

创建新实例时如何保护来自 Amazon EC2 实例的数据?

如何在 Amazon 的 EC2 上运行 Java 服务器?

在 Amazon EC2 上运行的 Tomcat 在 AWS 之外无法访问

如何通过 Amazon EC2 将 postgresql 数据移动到 Ubuntu 上的另一个目录?

如何在 Amazon Web Services EC2 中安装 Tomcat

启动 Amazon EC2 实例时如何自动启动 Web 服务?