如何进行sparkonyarn的资源调度器设置.

本篇文章给大家分享的是有关如何进行spark on yarn 的资源调度器设置.,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

创新互联建站主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站设计、程序开发、网站优化、微网站、成都微信小程序等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的网站设计制作、网站设计、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。

最近一段时间 发现了一个问题. 就是即便在整个集群  不忙的时候, 也会某几个节点, 会被spark on yarn 的任务跑满. 

而不是把任务均匀的分配到到多几个节点上. 

百思不解. 

于是开始各个方面的调查.  从spark 方面没有发现什么问题. 回过头来看yarn . 

发现原来使我们的资源调度的配置上有点问题. 

  <property>

    <name>yarn.scheduler.capacity.resource-calculator</name>

    <!--value>org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator</value-->

    <value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>

    <description>

      The ResourceCalculator implementation to be used to compare

      Resources in the scheduler.

      The default i.e. DefaultResourceCalculator only uses Memory while

      DominantResourceCalculator uses dominant-resource to compare

      multi-dimensional resources such as Memory, CPU etc.

    </description>

  </property>

问题就出在这里了.  default  调度器, 只关注node 的内存 情况, 根据内存情况来分派任务. 

这就是导致, 如果一个spark 任务向yarn 申请container 的时候, yarn 只关注了 某几个点的内存情况. 

如果内存满足 spark 的要求, 就可能把所有的container 都分派到一个node 去,导致这个node 节点 负载飚高. 

比如 spark 申请 10个 1g 内存的container . 然后 yarn 发现有2个节点  各有5g 空闲内存,  但是却只有3个cpu 空闲. 

那么可能就会只有这俩node 来跑这10个container , 而不是把10个container 分配到10个node上去.

然后就出现我们前面说的情况.  内存充足但是cpu不足. 导致spark 的container 只有3个在运行. 另外俩个要等待 .  

这也符合我们前面看到的现象.  

以上就是如何进行spark on yarn 的资源调度器设置.,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。

新闻名称:如何进行sparkonyarn的资源调度器设置.
标题URL:/article8/jeedip.html

成都网站建设公司_创新互联,为您提供网站制作App设计营销型网站建设做网站标签优化网页设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站