据我所知,阅读mesos文档时,是向应用程序/框架提供资源,由应用程序接受/拒绝提供。
我有一个“永无止境”的spark流应用程序,我在其中配置了需要并行性的执行器/内核/内存。这些资源不是只有在我的spark应用启动时才获得一次吗。也就是说,如果我的遗嘱执行人无所事事,他们是否会被交还给梅索斯?
在spark流媒体中,资源提供和接受是否只发生一次?
同样的问题也可以扩展到其他长期运行的框架,如cassandra或yarn-on-mesos。
我的理解是,当spark流在粗粒度模型上运行时,资源交换只发生一次,并且在spark应用程序的生命周期内,资源都专用于执行器
1条答案
按热度按时间6ovsh4lw1#
spark on mesos的最佳来源是spark docs网站。在粗粒度部分,您可以看到以下回答您问题的内容:
粗粒度模式的好处是大大降低了启动开销,但代价是在整个应用程序期间保留mesos资源。要配置作业以动态调整其资源需求,请查看动态分配。
如果您研究动态资源分配,您可能会通过spark shuffle服务在executor资源周围移动。这可以通过spark服务提供的脚本或marathon来实现。