apache-spark - 资源报价如何与 mesos 一起用于 Spark 流应用程序?
问题描述
据我了解通过 mesos 文档阅读,资源提供是对应用程序/框架完成的,并且由应用程序来接受/拒绝提供。
我有一个“永无止境”的火花流应用程序,我在其中配置了我需要并行性的执行器/核心/内存。当我的 spark-app 启动时,这些资源不是只获得一次吗?也就是说,假设我的执行者空闲,他们会被交还给 mesos 吗?
在火花流的情况下,资源提供和接受是否只发生一次?
同样的问题可以扩展到其他长期运行的框架,例如 mesos 上的 cassandra 或 YARN。
我的理解是,当在粗粒度模型上运行 spark-streaming 时,资源交换会发生一次,并且资源专用于执行器,用于 spark 应用程序的生命周期
解决方案
在 Mesos 上使用 Spark 的最佳来源是spark docs 站点。在粗粒度部分中,您可以看到以下内容回答了您的问题:
粗粒度模式的好处是启动开销要低得多,但代价是在应用程序的整个持续时间内保留 Mesos 资源。要配置您的作业以动态调整其资源需求,请查看动态分配。
如果您研究动态资源分配,您可能会通过 Spark Shuffle 服务移动执行器资源。这可以通过 Spark 服务提供的脚本或 Marathon 来实现。
推荐阅读
- vue.js - VueJS 动态插槽参数反应性
- c - 打印功能顺序
- javascript - 带有 Colspan 的 Google API 表格图表
- azure - 如何在 Azure Functions/apps 的连接字符串的一部分中引用密钥保管库机密
- flutter - 颤振的视频轮播滑块
- python - 列表、系列、字典、数据框 - 何时使用哪个以及为什么?
- regex - 我想要在第一行第一次出现的正则表达式
- c - 什么是 u64.l 和 u64.h?
- redux - React Redux Thunk 在 Action Creator 中传递 This.Props 方法
- sql - 具有不同列的 INNER JOIN