一:Master HA解析
1嘱蛋, 生產(chǎn)環(huán)境下一般采用Zookeeper做HA俊啼,且建議為3臺(tái)Master腹泌,Zookeeper會(huì)自動(dòng)化管理 Master的切換;
2, 采用Zookeeper做HA的時(shí)候奠滑,Zookeeper會(huì)負(fù)責(zé)保存整個(gè)Spark集群運(yùn)行時(shí)候的元數(shù)據(jù):workers航邢、Drivers、Applications辩棒、Executors;
3, Zookeeper遇到當(dāng)前Active級(jí)別的Master出現(xiàn)故障的時(shí)候會(huì)從StandbyMaster中選取一臺(tái)作為Active Master一睁,但是要注意钻弄,被選舉后到成為真正的ActiveMaster之間需要從Zookeeper中獲取集群當(dāng)前運(yùn)行狀態(tài)的元數(shù)據(jù)信息并進(jìn)行恢復(fù);
4者吁, 在Master切換的過(guò)程中窘俺,所有的已經(jīng)在運(yùn)行的程序皆正常運(yùn)行!因?yàn)镾park Application在運(yùn)行前就已經(jīng)通過(guò)ClusterManager獲得了計(jì)算資源复凳,所以在運(yùn)行時(shí)Job本身的調(diào)度和處理和Master是沒(méi)有任何關(guān)系的瘤泪!
5, 在Master的切換過(guò)程中唯一的影響是不能提交新的job:一方面不能提交新的應(yīng)用程序給集群育八,因?yàn)橹挥蠥ctiveMaster才能接受新的程序的提交請(qǐng)求对途;另外一方面,已經(jīng)運(yùn)行的程序中也不能夠因?yàn)锳ction操作觸發(fā)新的Job的提交請(qǐng)求单鹿;
二:MasterHA的四大方式
1掀宋, MasterHA的四大方式分別是:Zookeeper、filesystem仲锄、custom劲妙、none
2, 需要說(shuō)明的是:
a) Zookeeper是自動(dòng)管理Master
b) Filesystem的方式在Master出現(xiàn)故障后需要手動(dòng)重啟機(jī)器儒喊,機(jī)器啟動(dòng)后會(huì)立即成為Active級(jí)別的Master來(lái)對(duì)外提供服務(wù)(接受應(yīng)用程序提交的請(qǐng)求镣奋、接受新的Job運(yùn)行的請(qǐng)求)
c) Custom的方式允許用戶定義MasterHA的實(shí)現(xiàn),這對(duì)于高級(jí)用戶特別有用怀愧;
d) None侨颈,這是默認(rèn)情況芯义,當(dāng)我們下載安裝了Spark集群中就是采用這種方法耘分;該方式不會(huì)持久化集群的數(shù)據(jù)求泰,Master啟動(dòng)后立即管理集群渴频,