我们有一个8个节点的火花簇。火花作业每小时都会提交给群集。如何配置集群或编写一些不允许在集群上提交spark作业的代码(如果已经在那里运行)?
答案 0 :(得分:0)
工作不应该提交是否相关?
在我看来,更好的方法是在使用executorMemory
,executorCores
和其他属性提交群集时,将群集的所有资源分配给每个作业。
您也可以将您的计划机制从公平计划更改为其他计划。
本质上要做的是,如果一个作业已经在运行,你的集群将没有任何资源分配给另一个作业,如果执行,新作业将进入等待状态,直到资源空闲。
PS:搜索工作流程管理器。 OOzie,azkaban等可能对你有所帮助。
如果这有帮助,请告诉我。 欢呼声。
答案 1 :(得分:0)
我们可以先检查群集状态。
如果没有工作正在运行,那么您可以提交新工作。
例如:修改脚本bin / spark-submit,并在调用sparkSubmit
之前添加一个检查答案 2 :(得分:0)
处理此问题的一种可能方法是在提交作业时始终将所有群集资源分配给作业,这可能是您希望通过在任何时间运行一个作业来实现的。
this question的答案可以为您提供有关在命令行上设置的标志和选项的一些指导以实现此目的(但请确保根据特定调度程序的需要调整这些标志,不管它YARN,Mesos或独立的一个。)