【问题标题】:resource management on spark jobs on Yarn and spark shell jobs纱线和火花外壳作业上的火花作业的资源管理
【发布时间】:2019-07-16 19:20:11
【问题描述】:

我们公司在cloudera上有9个节点的集群。

我们有 41 个长期运行的 spark 流作业 [YARN + 集群模式] 和一些计划在每天下午 1 点运行的常规 spark shell 作业。

当前所有作业都以用户 A 角色 [具有 root 权限] 提交

我遇到的问题是,当所有 41 个 spark 流作业都在运行时,我的计划作业将无法获得资源来运行。

我已经尝试过 YARN 公平调度程序,但调度的作业仍未运行。

我们希望 spark 流作业始终在运行,但它会减少其他计划作业启动时占用的资源。

请随时分享您的建议或可能的解决方案。

【问题讨论】:

  • 您可以为每种类型的作业添加 2 个不同的队列,并为运行计划作业的队列提供比运行长时间运行的作业的队列更高的优先级。提交作业时,请提及特定队列。
  • 谢谢,这是另一个值得探索的方向。

标签: hadoop-yarn spark-submit spark-shell


【解决方案1】:

您的 Spark 流式处理作业消耗了太多资源,无法启动您的计划作业。这要么是因为它们总是被缩放到没有足够资源用于预定作业的程度,要么它们没有缩减。

对于流式作业没有缩减的情况,您可以检查您是否为流式作业启用了动态资源分配。一种检查方法是通过 spark shell 使用spark.sparkContext.getConf.get("spark.streaming.dynamicAllocation.enabled")。如果启用了动态分配,那么您可以考虑减少这些作业的最低资源。

【讨论】:

    猜你喜欢
    • 2017-08-27
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    相关资源
    最近更新 更多