Apache Zeppelin可以在一段时间后自动关闭其SparkContext并重新打开它吗?

时间:2015-09-06 12:21:39

标签: hadoop apache-spark apache-zeppelin

我在独立模式下设置了一个简单的Spark集群,并希望将Apache Zeppelin用作交互式Spark" scratchpad"。不幸的是,当SparkContext启动时,它会占用我的实验群集上的所有核心。我知道有一个名为" Dynamic Allocation"但它只适用于YARN。我在这个集群上没有YARN,我不想运行一个成熟的Hadoop堆栈,因为我想使用Cassandra作为数据后端。

在不使用YARN的情况下,这是否可行?

2 个答案:

答案 0 :(得分:0)

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

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

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

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

答案 1 :(得分:0)

我实际上最终选择了YARN,因为我发现下面有一个Hadoop堆栈有一些额外的优势:

  • 我可以使用HDFS作为数据源导入Cassandra所以我不必担心来自Spark的源文件的可访问性
  • 我可以编写自定义InputFormat来读取数据,使用Spark进行预处理并将结果溢出到Cassandra

我认为在群集上进行预处理应该比在客户端上更快。