提高spark任务稳定性的解决方案及Blacklist 机制说明解释
分布式集群中,特別是高負(fù)載的情況下,就會(huì)引發(fā)很多意想不到的問題,例如:
1、壞盤/硬盤滿將會(huì)導(dǎo)致 /path/to/usercache 目錄創(chuàng)建失敗,一個(gè)stage中任務(wù)失敗次數(shù)達(dá)到一定次數(shù)(spark.task.maxFailures)會(huì)導(dǎo)致整個(gè)job失敗。
2、executor 注冊(cè) external shuffle service 超時(shí)。
3、executor 從 external shuffle service 獲取數(shù)據(jù)超時(shí),task 反復(fù)失敗后導(dǎo)致了整 個(gè)stage 的失敗。
4、環(huán)境依賴問題,例如 xxx 包不存在, xxx 包沒有安裝。
5、dns 沒有配置,網(wǎng)絡(luò)不通。
...
為什么 task 失敗后還會(huì)被 schedular 重新調(diào)度在原來的 node 或是 executor上?
數(shù)據(jù)本地性(spark會(huì)優(yōu)先把task調(diào)度在有相應(yīng)數(shù)據(jù)的節(jié)點(diǎn)上)導(dǎo)致。
是否只能聽天由命,每次失敗后重新調(diào)度? 如果任務(wù)有SLA
總結(jié)
以上是生活随笔為你收集整理的提高spark任务稳定性的解决方案及Blacklist 机制说明解释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学建模竞赛
- 下一篇: WiFi辐射比手机电脑辐射数值小 60厘