【问题标题】:Co-Locating Spark & Cassandra with Mesos与 Mesos 共同定位 Spark 和 Cassandra
【发布时间】:2015-08-30 04:21:03
【问题描述】:

我有一个使用 Cassandra 的 Spark 应用程序。我想设置一个共同定位的部署,以便 Spark 节点可以本地访问 C* 以提高性能。在传统设置中,我会在我的服务器上手动安装 C*,然后在这些相同的节点上独立安装 Spark。

但我想利用 Apache Mesos 来管理我的集群。 Mesos 中是否有完成这项工作的方法,以便 Mesos 在同一节点上同时运行 C* 和 Spark?

【问题讨论】:

  • 我最近遇到了同样的问题。到目前为止你的解决方案是什么?谢谢。
  • 为什么不能使用 spark-mesos 和 cassandra-mesos 框架?

标签: cassandra apache-spark mesos mesosphere


【解决方案1】:

如果您使用 Mesos 的 Spark 框架,我不确定 Marathon 约束是否能胜任这项工作,因为它始终是框架的调度程序,它决定在哪里启动任务。您可以尝试仅通过 Marathon 在相同节点上启动 C* 和 Spark 作业,但它可能不如使用专用框架灵活。我们有想法在所谓的“基础设施框架”中解决局部性问题,但这是 WIP。

【讨论】:

  • 是的,我尝试了更多,并意识到 Spark 通常不会在 Marathon 中执行,它使用自己的调度程序。
【解决方案2】:

我看了更多,现在在我看来,马拉松的限制是做到这一点的方法。万一其他人也在寻找相同的东西,马拉松约束文档很好地解释了这一点。

https://github.com/mesosphere/marathon/blob/master/docs/docs/constraints.md

【讨论】:

  • 这无济于事,除非我们将 Spark 安排为 Marathon 应用程序(不建议这样做,因为它不会利用专门为其编写的 Spark 调度程序),正如 @rukletsov 在他的回答中解释的那样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-01
  • 2019-04-10
  • 1970-01-01
  • 2019-06-15
  • 2017-01-13
  • 2016-09-02
相关资源
最近更新 更多