3

我正在尝试在 EC2 上创建一个集群。我有一个帐户设置并通过 AWS 验证。我已成功下载并安装了segue软件包和相关软件包并设置了我的 AWS 凭证。当我尝试创建集群并得到以下信息时,我的问题就开始了:

> library(segue)
Loading required package: rJava
Loading required package: caTools
Loading required package: bitops
Segue did not find your AWS credentials. Please run the setCredentials() function.
> setCredentials('', '') #keys hidden

> myCluster <- createCluster(numInstances=5)
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
  com.amazonaws.AmazonClientException: Can't turn bucket name into a URI: Illegal character in authority at index 8: https://c:\users\backup~1\appdata\local\temp\rtmp4u0n8yqaaoducils-segue.s3.amazonaws.com

有任何想法吗?

4

1 回答 1

6

acesnap,我是 Segue 的作者,我可以自信地说,您遇到的问题是该Segue软件包尚未实现在 Windows 平台上运行。我怀疑问题在于 Windows 对文件路径、临时文件等做了一些有趣的事情。Segue 包的服务器端始终是运行 Linux 的 Amazon Elastic Map Reduce 服务,但临时文件构建在客户端计算机上,因此 Segue 必须与本地操作系统良好通信。

我能想到几种解决方法:

  1. 在本地机器上设置 Virtual Box 并安装 Ubuntu 和 R。

  2. 设置一台 EC2 机器并安装 R 和 Segue,然后使用该机器启动 Segue 作业。

  3. 购买 Mac 或在台式机上安装 Linux(我猜有点明显)

即使我的台式机是 Mac 和 Linux,我也经常使用上面的 #2。我这样做是因为它加速了运行 Segue 的机器和后端集群之间的通信。它还降低了 Segue 主机失去与 EMR 后端连接的可能性。这很有价值,因为如果在作业运行时 Segue 和亚马逊云之间的通信丢失,那么该作业将在云集群上运行,但无法将结果返回到 Segue 主机(您提交作业的机器)。

于 2011-11-17T20:03:56.133 回答