【发布时间】:2016-08-31 00:12:39
【问题描述】:
我有 2 个要运行的 spark 流作业,以及为批处理作业和其他操作保留一些可用资源。
我评估了 Spark Standalone 集群管理器,但我意识到我必须为两个作业修复资源,这将几乎没有计算能力留给批处理作业。
我开始评估 Mesos,因为它具有“细粒度”执行模型,其中资源在 Spark 应用程序之间转移。
1) 这是否意味着单个内核可以在 2 个流媒体 应用程序之间切换?
2) 虽然我有 spark & cassandra,但是为了利用数据局部性,我是否需要在每台从机上都有专用的核心以避免洗牌?
3) 您是否建议以“细粒度”或“粗粒度”模式运行流式传输作业。我知道逻辑答案是粗粒度的(为了最大限度地减少流式应用程序的延迟)但是当整个集群中的资源有限时(3 个节点的集群,每个 4 个核心的集群 - 有 2 个流式应用程序要运行并且不时多次批处理作业)
4) 在 Mesos 中,当我在集群模式下运行 spark 流作业时,它会永久占用 1 个核心(就像独立集群管理器正在做的那样),还是该核心会执行驱动程序进程并有时充当执行者?
谢谢
【问题讨论】:
标签: apache-spark spark-streaming mesos