2016-01-20 46 views
0

我已经安装了一个hadoop集群,有2名工人。 Spark安装并与纱线配合使用。我开始Spark失去工人

$ pyspark 或 $ sparkR

和API正常启动,并可以实际进行计算,但后约1分钟失去了它的工人。我完全按照这个指示(https://cloud.google.com/solutions/monte-carlo-methods-with-hadoop-spark)。发射sparkR或pyspark一分钟后,我得到这个错误

16/01/20 16:56:35 ERROR org.apache.spark.scheduler.cluster.YarnScheduler: Lost executor 2 on hadoopcluster-w-1 
.c.hadoop-1196.internal: remote Rpc client disassociated 
16/01/20 16:56:38 ERROR org.apache.spark.scheduler.cluster.YarnScheduler: Lost executor 1 on hadoopcluster-w-0.c 
.hadoop-1196.internal: remote Rpc client disassociated 

我已经遍寻全面地寻找解决方案。我见过很多人说增加spark.yarn.executorMemory但没有奏效。我重新创建了一个全新的项目来复制并获得相同的问题。有人能够熟练地使用spark来尝试创建一个集群并通过遵循我上面发布的教程来运行脚本并提出修复建议吗?谢谢!

回答

0

如果运行这个

(sc.parallelize(1 to 4, 2) 
    .map(i => playSession(100000, 100, 250000)) 
    .map(i => if (i == 0) 1 else 0) 
    .reduce(_+_)/4.) 

不会给你任何错误,这意味着你的问题是由内存引起的(你将无法通过更改群集的设置来解决它)

+0

由于拉杜。我跑了,并没有收到任何错误。尽管我确实收到了弃用的警告。 scala>(sc.parallelize(1 to 10000,500) | .map(i => playSession(100000,100,250000)) | .map(i => if(i == 0)1 else 0) | .reduce(_ + _)/ 10000。) 警告:有1次弃用警告;请使用-deprecation重新运行 res1:Double = 0.9994 –

+0

可能是因为这是从输入文件的拆分数派生而设置的分区数已被取消。 –