2015-09-06 59 views
1

我在独立模式下设置了一个简单的Spark群集,并希望使用Apache Zeppelin作为交互式Spark“暂存区”。不幸的是,当SparkContext启动时,它占用了我实验群集上的所有内核。我知道有一个名为“Dynamic Allocation”的新功能,但它只能与YARN一起使用。我在这个集群上没有YARN,我不想运行一个完整的Hadoop堆栈,因为我想使用Cassandra作为数据后端。Apache Zeppelin可以在一段时间后自动关闭它的SparkContext并重新打开它吗?

这不知道怎么可能不使用YARN?

回答

0

您可以使用Mesos而不是纱线。 Spark允许您在粗粒度模式下设置从Mesos请求的内核数量。为此,请设置以下选项:

spark.mesos.coarse=true 
spark.cores.max={The number of cores you wish to allocate} 

您可以通过Zeppelin中的Interpreter窗口设置这些选项。

请注意,在粗粒度模式下,Zeppelin将持续占用这些内核 - 即使它实际上没有做任何工作。

+0

我其实最后跟YARN一起去了。这样做的好处是我也有HDFS,可以上传要添加到Cassandra的数据。然后我可以定义自定义的'InputFormat',使用'sc.newAPIHadoopFile'来获取RDD并将它们添加到Spark中的数据库中。 – rabejens

0

其实我去在年底纱,因为我想通了,有一个Hadoop堆栈的下面有一些额外的好处:

  • 我可以使用HDFS作为数据源导入到卡桑德拉所以我不“T担心的源文件的可访问性,从星火
  • 我可以编写自定义InputFormat s到读取数据,做预处理与Spark和结果溢出卡桑德拉

我觉得做预在t上处理他的Cluster应该比客户端上的要快。

相关问题