Apache Spark 黑名单(Blacklist)机制介绍
来源:互联网 发布:淘宝店铺没了能退款么 编辑:程序博客网 时间:2024/05/29 17:17
如下面的图片看不清,请参见 https://www.iteblog.com/archives/1907.html,或点击下面阅读原文即可。
在使用 Apache Spark 的时候,作业会以分布式的方式在不同的节点上运行;特别是当集群的规模很大时,集群的节点出现各种问题是很常见的,比如某个磁盘出现问题等。我们都知道 Apache Spark 是一个高性能、容错的分布式计算框架,一旦它知道某个计算所在的机器出现问题(比如磁盘故障),它会依据之前生成的 lineage 重新调度这个 Task。
我们现在来考虑下下面的场景:
有个节点上的磁盘由于某些原因出现间歇性故障,导致某些扇区不能被读取。假设我们的 Spark 作业需要的数据正好就在这些扇区上,这将会导致这个 Task 失败。
这个作业的 Driver 获取到这个信息,知道 Task 失败了,所以它会重新提交这个 Task。
Scheduler 获取这个请求之后,它会考虑到数据的本地性问题,所以很可能还是把这个 Task 分发到上述的机器,因为它并不知道上述机器的磁盘出现了问题。
因为这个机器的磁盘出现问题,所以这个 Task 可能一样失败。然后 Driver 重新这些操作,最终导致了 Spark 作业出现失败!
上面提到的场景其实对我们人来说可以通过某些措施来避免。但是对于 Apache Spark 2.2.0 版本之前是无法避免的,不过高兴的是,来自 Cloudera 的工程师解决了这个问题:引入了黑名单机制 Blacklist(详情可以参见SPARK-8425,具体的设计文档参见Design Doc for Blacklist Mechanism),并且随着 Apache Spark 2.2.0 版本发布,不过目前还处于实验性阶段。
黑名单机制其实是通过维护之前出现问题的执行器(Executors)和节点(Hosts)的记录。当某个任务(Task)出现失败,那么黑名单机制将会追踪这个任务关联的执行器以及主机,并记下这些信息;当在这个节点调度任务出现失败的次数超过一定的数目(默认为2),那么调度器将不会再将任务分发到那台节点。调度器甚至可以杀死那台机器对应的执行器,这些都可以通过相应的配置实现。
我们可以通过 Apache Spark WEB UI 界面看到执行器的状态(Status):如果执行器处于黑名单状态,你可以在页面上看到其状态为 Blacklisted ,否则为 Active。如下图所示:
如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop
拥有了黑名单机制之后,上面场景的问题就可以很好的解决。
目前黑名单机制可以通过一系列的参数来控制,主要如下:
因为黑名单机制目前还处于实验性状态,所以上面的一些参数可能会在后面的 Spark 中有所修改。
欢迎关注本公众号:iteblog_hadoop:
0、回复 电子书 获取 本站所有可下载的电子书
1、Apache Spark常见的三大误解
2、Hadoop 3.0磁盘均衡器(diskbalancer)新功能及使用介绍
3、Apache Spark 2.2.0新特性详细介绍
4、干货 | Spark SQL:过去,现在以及未来
5、ElasticSearch内置也将支持SQL特性
6、美团点评数据平台融合实践
7、干货 | Apache Spark最佳实践
8、NodeManager节点自身健康状态检测机制
9、[干货]大规模数据处理的演变(2003-2017)
10、Apache Flink 1.3.0正式发布及其新功能介绍
11、更多大数据文章欢迎访问https://www.iteblog.com及本公众号(iteblog_hadoop)12、Flink中文文档:http://flink.iteblog.com- Apache Spark 黑名单(Blacklist)机制介绍
- MailServer BL[Blacklist黑名单,包括RBL,CBL...] Check Website
- Spark(黑名单过滤)
- wordpress IP黑名单插件:IP Blacklist Cloud屏蔽攻击者IP让网站更安全
- hadoop黑名单机制
- Spark 实现黑名单实时过滤
- Apache Spark 1.5新特性介绍
- Apache Spark 1.6发布(新特性介绍)
- Apache Spark 1.5新特性介绍
- Apache顶级项目介绍6 - Spark
- Hadoop的TaskTracker黑名单机制
- Hadoop的TaskTracker黑名单机制
- Hadoop的TaskTracker黑名单机制
- Hadoop的TaskTracker黑名单机制
- Hadoop的TaskTracker黑名单机制
- 用spark streaming实现黑名单实时过滤
- book blacklist
- Apache Spark调度之Speculative Task机制详细探究
- [Linux--Shell命令]--tr命令
- sdut 2413
- Quartz-错过触发机制
- 高低字位的取值宏
- warning: this decimal constant is unsigned only in ISO C90
- Apache Spark 黑名单(Blacklist)机制介绍
- 解决$.ajax()请求异常 jQuery提示parsererror错误解决办法
- AsyncTask 源码分析
- 黑苹果 Cpu halted Power OFF自动关机
- linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下
- 在linux下安装Informatica
- unity中模型动态变形处理
- 求n个数的平均数,并输出大于平均数的数。以-1结束
- Spark RDD