分享

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

sstutu 2017-11-20 12:06:02 发表于 介绍解说 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 8680
问题导读

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


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



本帖被以下淘专辑推荐:

欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条