关于mesos spark我有几个问题:
当我在mesos上提交具有不同spark上下文的spark作业时,它是调用不同的mesos spark框架示例还是使用相同的示例。
如何确保每次创建不同的spark框架。
我可以为特定的spark上下文或框架示例指定保留/预分配mesos slave的约束条件吗。我知道它有点违背了mesos的目的,mesos可以以粗粒度模式保证内存和cpu。但出于某种原因,我不想共享在不同spark作业(针对不同用户)上运行任务(从属)的物理机器
关于mesos spark我有几个问题:
当我在mesos上提交具有不同spark上下文的spark作业时,它是调用不同的mesos spark框架示例还是使用相同的示例。
如何确保每次创建不同的spark框架。
我可以为特定的spark上下文或框架示例指定保留/预分配mesos slave的约束条件吗。我知道它有点违背了mesos的目的,mesos可以以粗粒度模式保证内存和cpu。但出于某种原因,我不想共享在不同spark作业(针对不同用户)上运行任务(从属)的物理机器
1条答案
按热度按时间2ul0zpep1#
1/2,每个spark上下文将启动一个单独的mesos框架,您应该能够通过导航到mesos ui来确认这一点,并查看创建的所有框架,这些框架应与您创建的spark上下文对应1到1。
您可以为一组spark任务保留资源,方法是在每个从属任务上保留一块资源,并用特定角色标记它们。
例如,如果要在从机上保留4gb内存和2个内核以运行某组任务,则可以在启动从机时指定--resources=“cpu(spark1):2,mem(spark1):4098,cpu():2,mem():4098”。这使得spark1角色拥有4gb的ram和2个cpu,而所有其他框架都拥有2个cpu和4gb的ram。然后,向spark1角色注册自己的框架将接收保留的资源以及任何可用的通配符(*)资源,供其使用。
在spark框架方面,我有一个支持注册特定角色的开放pr(https://github.com/apache/spark/pull/4960),希望能很快合并。因此,如果您想使用这个特性,您需要应用这个pull请求并构建spark。