Mesos上的Spark框架

Nit*_*oel 3 mesos apache-spark mesosphere

我对Mesos-spark的问题很少:

  1. 当我在Mesos上使用不同的spark上下文提交spark作业时,它是否会调用不同的mesos-spark框架实例或使用相同的内容.
  2. 如何确保每次创建不同的spark框架.
  3. 我是否可以指定约束来为特定的spark上下文或框架实例保留/预分配mesos-slave.据我所知,它稍微违背了Mesos的目的,Mesos可以保证粗粒度模式下的内存和CPU.但出于某种原因,我不希望在不同的火花作业(用于不同的用户)之间共享运行任务(从属)的物理机器

Tim*_*hen 7

1/2,每个Spark Context将启动一个单独的Mesos框架,您应该能够通过导航到Mesos UI并查看创建的所有框架来确认这一点,这些框架应该与您创建的Spark上下文对应1对1.

  1. 您可以通过在每个从属服务器上保留一部分资源并使用某个角色标记它们来为一组Spark任务预留资源.

例如,如果要在从属服务器上保留4gb内存和2个核心来运行某组任务,则可以指定--resources ="cpus(spark1):2,mem(spark1):4098,cpus():2 ,mem():4098"当你启动奴隶时.这给了spark1角色4gb的ram和2个cpus,而所有其他框架2个cpu和4gb ram.使用spark1角色注册自身的框架将接收保留的资源以及任何可用的通配符(*)资源供其使用.

在Spark框架方面,我有一个支持注册特定角色的开放PR(https://github.com/apache/spark/pull/4960),希望很快就能合并.因此,如果您想使用此功能,您需要应用此拉取请求并立即自行构建Spark.