安排每个Apache Spark Stage在特定的工作节点上运行

时间:2017-04-24 22:10:22

标签: apache-spark spark-streaming distributed-system

假设我在Spark(实际上是Spark Streaming)上运行了一个带有2个工作节点的简单Wordcount应用程序。默认情况下,每个任务(来自任何阶段)都会根据调度算法调度到任何可用资源。但是,我想更改默认计划以将每个阶段修复为特定的工作节点。

这是我想要实现的目标 -

  1. 工作节点'A'应该只处理第一个舞台(如'map'舞台)。因此,所有进入的数据必须首先转到工人'A'
  2. 和工作节点'B'应该只处理第二阶段(如'reduce'阶段)。实际上,工人A的结果由工人B处理。
  3. 我的第一个问题是 - 通过调整参数或选择正确的配置选项,是否可以在Spark或Spark Streaming上进行这种自定义? (我不认为是,但有人可以证实这一点吗?)

    我的第二个问题是 - 我是否可以通过对Spark调度程序代码进行一些更改来实现此目的?如果有必要,我可以硬编码工人的IP。任何有关此特定问题的提示或指示甚至更详细地了解Spark Scheduler代码都会有所帮助..

    据我所知,这种变化在某种程度上违背了Spark的效率目标,但我只想尝试不同的项目设置。

    谢谢!

0 个答案:

没有答案