将 Spark & Cassandra 与 Mesos 放在一起

Co-Locating Spark & Cassandra with Mesos

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

但我想使用 Apache Mesos 来管理我的集群。 Mesos 中是否有任何方法可以完成此操作,以便 Mesos 将 运行 C* 和 Spark 在同一节点上?

我仔细看了看,现在看来,马拉松中的限制是做到这一点的方法。如果其他人正在寻找相同的东西,Marathon constraints documentation 解释得很好。

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

如果您使用 Mesos 的 Spark 框架,我不确定 Marathon 约束是否能完成这项工作,因为它始终是框架的调度程序,它决定在何处启动任务。您可以尝试仅通过 Marathon 在相同节点上启动 C* 和 Spark 作业,但它可能不如使用专用框架灵活。我们有解决所谓 "Infrastructure frameworks" 局部性的想法,但这是 WIP。