2012-05-27 61 views
1

我试图从https://jeffreybreen.wordpress.com/2011/01/10/segue-r-to-amazon-elastic-mapreduce-hadoop/Emrlapply并不简单的任务,工作

集群创建复制使用segue的简单的例子是成功的

> cl <- createCluster(numInstances=2) 
STARTING - 2012-05-27 14:02:08 
STARTING - 2012-05-27 14:02:39 
STARTING - 2012-05-27 14:03:10 
STARTING - 2012-05-27 14:03:42 
STARTING - 2012-05-27 14:04:13 
STARTING - 2012-05-27 14:04:44 
STARTING - 2012-05-27 14:05:15 
STARTING - 2012-05-27 14:05:46 
STARTING - 2012-05-27 14:06:17 
BOOTSTRAPPING - 2012-05-27 14:06:48 
BOOTSTRAPPING - 2012-05-27 14:07:19 
BOOTSTRAPPING - 2012-05-27 14:07:50 
BOOTSTRAPPING - 2012-05-27 14:08:21 
BOOTSTRAPPING - 2012-05-27 14:08:52 
BOOTSTRAPPING - 2012-05-27 14:09:23 
BOOTSTRAPPING - 2012-05-27 14:09:55 
WAITING - 2012-05-27 14:10:26 
Your Amazon EMR Hadoop Cluster is ready for action. 
Remember to terminate your cluster with stopCluster(). 
Amazon is billing you! 

本地模拟还行,但在运行它每次都会返回一个错误。

> myList <- NULL 
> set.seed(1) 
> for (i in 1:10){ 
    + a <- c(rnorm(999), NA) 
    + myList[[i]] <- a 
    + } 
> outputLocal <- lapply(myList, mean, na.rm=T) 
> outputEmr <- emrlapply(cl, myList, mean, na.rm=T) 
RUNNING - 2012-05-27 14:11:58 
RUNNING - 2012-05-27 14:12:29 
RUNNING - 2012-05-27 14:13:00 
WAITING - 2012-05-27 14:13:31 
Error in lines[[i]] : subgroup is out of range 
> stopCluster(cl) 

我喜欢这个包的想法,我希望这将是我的工作是有用的,但我无法弄清楚如何解决这个基本问题。

segue版0.02

OS的:Ubuntu的11.10

UPDATE:我试图运行裨估计的另一示例的测试用例,并且emrlapply返回相同的错误消息。

UPDATE2: 我更新到版本0.03,现在我无法连接到群集。成功启动实例后,尝试关闭而没有任何效果。我通过AWS consol终止了实例。所以旧问题解决了,但新问题出现了。

> cl <- createCluster(numInstances=2) 
STARTING - 2012-06-01 22:36:10 
STARTING - 2012-06-01 22:36:41 
STARTING - 2012-06-01 22:37:12 
STARTING - 2012-06-01 22:37:43 
STARTING - 2012-06-01 22:38:14 
STARTING - 2012-06-01 22:38:46 
SHUTTING_DOWN - 2012-06-01 22:39:17 
SHUTTING_DOWN - 2012-06-01 22:39:48 
... 
SHUTTING_DOWN - 2012-06-01 22:48:05 
SHUTTING_DOWN - 2012-06-01 22:48:36 
FAILED - 2012-06-01 22:49:07 
> 
+1

寻呼@jdlong现场 – Chase

+0

好“好”消息是,我可以重现你的错误。我现在正在调试,看看我能否弄清楚发生了什么。 –

+0

@JDLong,谢谢你的回应!奇怪的是,别人之前没有发现这个问题。 – DrDom

回答

1

看来,亚马逊改变了EMR服务默认为 1.0版本的EMR AMI的,如果没有具体的版本被调用。 自1月1日以来,该行为一直默认为最新版本。 当我所做的更改默认为最新的版本,然后我不得不 问题用Hadoop希望输出的当前化身在S3子桶放在 。

我不得不升级的Java API AWS代码到最新版本,以便使这些变化。

焦油球的新版本在这里: http://code.google.com/p/segue/downloads/list 也可以克隆源,并建立它自己,如果你进入的是 类的事情。

我已经将Segue编入索引为0.03。

编辑:我刚刚发现的m1.small是一个问题(32位),所以我已经改变了默认的和更改的行为不能让用户指定的m1.small。新版本是0.04。

+0

感谢您的帮助,对于我的延迟响应感到抱歉,我与互联网连接不好,并认为这是导致新版本“segue”出现问题的原因,但不幸的是,稳定的连接并没有解决问题。请看我的更新问题。 – DrDom

+0

那真的很奇怪。启动并立即失败的行为表示引导脚本中存在错误。你能告诉我你试图启动哪个大小的实例吗?这将帮助我进行调试。 –

+0

我已经使用了默认类型的主从实例m1.small – DrDom