当前位置:   article > 正文

spark2.2以后版本任务调度将增加黑名单机制

spark.blacklist.task.maxtaskattemptspernode ( = 2) was >= spark.task.maxfail

   

 问题导读

1.spark如何开启黑名单机制?
2.哪些条件将将executors列入黑名单?
3.整个节点被列入黑名单,executors如何处理?



spark2.2中在任务调度中,增加了黑名单机制,提高了资源分配的效率。不同条件分别会将executors和整个节点加入黑名单。但是加入黑名单,也是有时间限制的,我们可以自定义时间,超过了这个时间,将会被资源管理器回收。对于如何配置,大家可参考下面。

配置属性

黑名单机制配置属性有哪些?明确的是第一个属性spark.blacklist.enabled,后面标有试验属性的,spark2.2还在测试阶段,相信spark2.3会正式发布
spark.blacklist.enabled        
默认值:false
也就是说默认是不开启的。

说明
如果设置为“true”,如果有太多的任务失败,他将会被列入黑名单,阻止spark 从executors 调度任务.黑名单算法由"spark.blacklist"配置项控制。

spark.blacklist.timeout
默认值:1h说明:
【试验】一个节点或则executor被列入黑名单多长时间,被移除黑名单后,尝试运行新的任务

spark.blacklist.task.maxTaskAttemptsPerExecutor        
默认值:1
说明:
【试验】对于给定的任务,重试多少次,executor会被列入黑名单

spark.blacklist.task.maxTaskAttemptsPerNode        
默认值:2
说明:
【试验】对于给定的任务,重试多少次,一个节点会被列入黑名单


spark.blacklist.stage.maxFailedTasksPerExecutor        
默认值:2

说明:


【试验】一个executor必须失败多少不同任务,在某个stage内,executor 被列入黑名单之前

spark.blacklist.stage.maxFailedExecutorsPerNode        
默认值:2
说明:
【试验】在某个stage,有多少不同的executors 被列入黑名单,在某个stage内,整个节点被列入黑名单。

spark.blacklist.application.maxFailedTasksPerExecutor        
默认值:2
说明:

【试验】对于整个应用程序executor 被列入黑名单前,executor必须失败多少不同的任务。黑名单的executor,如果spark.blacklist.timeout过了超时时间
将会自动添加到可用资源池中,并标记为空闲,由群集管理器回收。

spark.blacklist.application.maxFailedExecutorsPerNode        
默认值:2
说明:

【试验】对于整个节点executor 被列入黑名单前,executor必须失败多少不同的任务。黑名单的executor,如果spark.blacklist.timeout过了超时时间
将会自动添加到可用资源池中,并标记为空闲,由群集管理器回收。

spark.blacklist.killBlacklistedExecutors        
默认值:false

如果设置为true,当它们被列入黑名单后,允许spark自动kill, 和尝试重建executors 。需要注意整个节点被列入黑名单,节点的所有executors 将会被kill.

如何配置属性:
上面的可以在 spark-defaults.conf配置,或则通过命令行配置。spark配置分为很多种,比如运行环境,Shuffle Behavior,Spark UI,内存的配置等。黑名单属于调度配置。

参考官网:
http://spark.apache.org/docs/latest/configuration.html


上面如有不当之处,大家多多交流和指正。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/653181
推荐阅读
相关标签
  

闽ICP备14008679号