首页 > 解决方案 > 资源报价如何与 mesos 一起用于 Spark 流应用程序?

问题描述

据我了解通过 mesos 文档阅读,资源提供是对应用程序/框架完成的,并且由应用程序来接受/拒绝提供。

我有一个“永无止境”的火花流应用程序,我在其中配置了我需要并行性的执行器/核心/内存。当我的 spark-app 启动时,这些资源不是只获得一次吗?也就是说,假设我的执行者空闲,他们会被交还给 mesos 吗?

在火花流的情况下,资源提供和接受是否只发生一次?

同样的问题可以扩展到其他长期运行的框架,例如 mesos 上的 cassandra 或 YARN。

我的理解是,当在粗粒度模型上运行 spark-streaming 时,资源交换会发生一次,并且资源专用于执行器,用于 spark 应用程序的生命周期

标签: apache-sparkmesosmesosphere

解决方案


在 Mesos 上使用 Spark 的最佳来源是spark docs 站点。在粗粒度部分中,您可以看到以下内容回答了您的问题:

粗粒度模式的好处是启动开销要低得多,但代价是在应用程序的整个持续时间内保留 Mesos 资源。要配置您的作业以动态调整其资源需求,请查看动态分配。

如果您研究动态资源分配,您可能会通过 Spark Shuffle 服务移动执行器资源。这可以通过 Spark 服务提供的脚本或 Marathon 来实现。


推荐阅读