ApacheSpark黑名單(Blacklist)機制介紹

在使用 Apache Spark 的時候,作業(yè)會以分布式的方式在不同的節(jié)點上運行;特別是當集群的規(guī)模很大時,集群的節(jié)點出現各種問題是很常見的,比如某個磁盤出現問題等。我們都知道 ApacheSpark 是一個高性能、容錯的分布式計算框架,一旦它知道某個計算所在的機器出現問題(比如磁盤故障),它會依據之前生成的 lineage 重新調度這個 Task。

創(chuàng)新互聯(lián)建站成都企業(yè)網站建設服務,提供網站設計、成都網站建設網站開發(fā),網站定制,建網站,網站搭建,網站設計,響應式網站設計,網頁設計師打造企業(yè)風格網站,提供周到的售前咨詢和貼心的售后服務。歡迎咨詢做網站需要多少錢:18982081108

我們現在來考慮下下面的場景:

? 有個節(jié)點上的磁盤由于某些原因出現間歇性故障,導致某些扇區(qū)不能被讀取。假設我們的 Spark 作業(yè)需要的數據正好就在這些扇區(qū)上,這將會導致這個 Task 失敗。

? 這個作業(yè)的 Driver 獲取到這個信息,知道 Task 失敗了,所以它會重新提交這個 Task。

? Scheduler 獲取這個請求之后,它會考慮到數據的本地性問題,所以很可能還是把這個 Task 分發(fā)到上述的機器,因為它并不知道上述機器的磁盤出現了問題。

? 因為這個機器的磁盤出現問題,所以這個 Task 可能一樣失敗。然后 Driver 重新這些操作,最終導致了 Spark 作業(yè)出現失敗!

上面提到的場景其實對我們人來說可以通過某些措施來避免。但是對于 Apache Spark 2.2.0 版本之前是無法避免的,不過高興的是,來自 Cloudera 的工程師解決了這個問題:引入了黑名單機制 Blacklist(詳情可以參見SPARK-8425,具體的設計文檔參見Design Doc for Blacklist Mechanism),并且隨著 Apache Spark 2.2.0 版本發(fā)布,不過目前還處于實驗性階段。

黑名單機制其實是通過維護之前出現問題的執(zhí)行器(Executors)和節(jié)點(Hosts)的記錄。當某個任務(Task)出現失敗,那么黑名單機制將會追蹤這個任務關聯(lián)的執(zhí)行器以及主機,并記下這些信息;當在這個節(jié)點調度任務出現失敗的次數超過一定的數目(默認為2),那么調度器將不會再將任務分發(fā)到那臺節(jié)點。調度器甚至可以殺死那臺機器對應的執(zhí)行器,這些都可以通過相應的配置實現。

我們可以通過 Apache Spark WEB UI 界面看到執(zhí)行器的狀態(tài)(Status):如果執(zhí)行器處于黑名單狀態(tài),你可以在頁面上看到其狀態(tài)為 Blacklisted ,否則為 Active。如下圖所示:

Apache Spark 黑名單(Blacklist)機制介紹

擁有了黑名單機制之后,上面場景的問題就可以很好的解決。

目前黑名單機制可以通過一系列的參數來控制,主要如下:

Apache Spark 黑名單(Blacklist)機制介紹

因為黑名單機制目前還處于實驗性狀態(tài),所以上面的一些參數可能會在后面的 Spark 中有所修改。

結語

感謝您的觀看,如有不足之處,歡迎批評指正。

如果有對大數據感興趣的小伙伴或者是從事大數據的老司機可以加群:

658558542    

歡迎大家交流分享,學習交流,共同進步。(里面還有大量的免費資料,幫助大家在成為大數據工程師,乃至架構師的路上披荊斬棘!)

最后祝福所有遇到瓶頸的大數據程序員們突破自己,祝福大家在往后的工作與面試中一切順利。

當前文章:ApacheSpark黑名單(Blacklist)機制介紹
鏈接分享:http://muchs.cn/article40/jepieo.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站設計、網站營銷、營銷型網站建設域名注冊、Google品牌網站制作

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網站建設