如何进行spark on yarn 的资源调度器设置.


本篇文章给大家分享的是有关如何进行spark on yarn 的资源调度器设置.,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 最近一段时间发现了一个问题. 就是即便在整个集群 不忙的时候, 也会某几个节点, 会被spark on yarn 的任务跑满.
而不是把任务均匀的分配到到多几个节点上.
百思不解.
于是开始各个方面的调查. 从spark 方面没有发现什么问题. 回过头来看yarn .
发现原来使我们的资源调度的配置上有点问题. yarn.scheduler.capacity.resource-calculator

org.apache.hadoop.yarn.util.resource.DominantResourceCalculator

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.

问题就出在这里了. 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 的资源调度器设置.,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注开发云行业资讯频道。

相关推荐: Java13新特性有哪些

这篇文章主要讲解了“Java13新特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java13新特性有哪些”吧!JEP 350,Dynamic CDS Archives扩展应用程序类-数据共享,以允许在…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/23 17:12
下一篇 09/23 17:18

相关推荐