控制Spark群集

时间:2016-12-23 02:10:25

标签: hadoop apache-spark

我设置了一个由1 master and 3 workers组成的群集。

正常情况下,正如我们所知,如果用户提交一些工作,工作将分配给三名工人执行。

但是,如果我想分配诸如

job id_1worker 1worker 2,但没有worker 3

job id_2worker 1worker 2worker 3

job id_3worker 2worker 3,但没有worker 1

Spark可以通过一些配置设置,调度或编写代码来将作业分配给指定的工作人员吗?

可以推荐任何想法或方法。

1 个答案:

答案 0 :(得分:0)

你不应该这样做,因为它会使你的工作变慢会造成不必要的问题。enter image description here

  1. 设置位置偏好!如果你知道工人的所有名字 您可以使用并行版本创建机器 设置每个分区的首选位置。这将确保一个 将每个分区发送到相应的确定性行为 工人(假设推测执行,延迟调度被转为 关闭)。
  2. 要找出没有硬编码的工作节点的名称,你 可以运行具有许多分区的虚拟Spark作业 返回所有工人的主机名。不会那样试图确保 (但不保证)每个分区至少会安排一个分区 积极工作者。实际上,如果系统中还有其他作业, 然后可能这些虚拟任务将无法安排在所有 工作人员。没有一些外部机制,很难解决这个问题 了解集群中的所有工作人员。
  3. 我从来没有像你试图提交这份工作那样试过这件事。

    这可能是您的问题Spark Reply

    的可能解决方案提示

    浏览Cluster Mode