【问题标题】:Spark streaming on Mesos - course grainedMesos 上的 Spark 流式传输 - 课程粒度
【发布时间】:2016-05-05 16:27:57
【问题描述】:

我的 vagrant 开发机器上有 2 个内核,并且想要运行 2 个流式应用程序。

如果:

  • 它们都占用了两个可用内核(我没有指定“spark.cores.max”)

  • 它们的流式传输间隔为 15 秒

  • 5 秒足以进行计算

Mesos 的预期行为是否会在 2 个应用程序之间转移这 2 个可用内核?我会期待这种行为,因为“Mesos 会锁定资源直到作业执行”,而在 Spark Streaming 中,一个作业是在批处理间隔内执行的。

否则,如果资源在应用程序的生命周期内被锁定(在 spark 流中它是永远的),那么使用 Mesos 代替独立集群管理器有什么好处?

【问题讨论】:

    标签: apache-spark spark-streaming mesos mesosphere


    【解决方案1】:

    Spark Streaming 将每个流 Reader 锁定到一个核心,此外,您还需要至少一个其他核心来完成其余的处理。所以你不能在两核机器上同时运行两个作业。

    Mesos 在集群中为您提供更好的资源利用率。单机更静态。不过,对于固定数量的长时间运行的流,它可能没问题,只要您有足够的资源并且您使用建议来限制每个作业可以获取的允许资源(默认是获取所有内容)。

    如果您真的只是在单台机器上运行,请使用local[*] 以避免主从守护进程等的开销。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-27
      • 2016-03-02
      • 2017-05-28
      • 2014-11-11
      • 2020-07-17
      • 1970-01-01
      • 2016-08-25
      • 2016-09-21
      相关资源
      最近更新 更多