如何讓Hadoop支持優先級且性能可預測

LukeOlivare 8年前發布 | 12K 次閱讀 Hadoop 分布式/云計算/大數據

Apache Hadoop近十年的成長證明,用開源技術處理與訪問海量數據并不是什么炒作。然而,Hadoop的一個缺點是不可預測性。Hadoop不能確保企業的關鍵任務按時完成,也不能完全發揮集群的性能。

YARN(一種新的Hadoop資源管理器)能夠實現任務搶占,為隊列中的其它任務騰出調度空間。容量調度器與公平調度器可以通過靜態配置殺死那些占用集群資源的任務,從而讓高優先級任務進行調度。

當隊列中堆積了等待資源的任務,這些工具就可以派上用場了。不幸的是,它們無法處理已經發生實時爭用問題(contention problems)的任務。YARN不會檢測正在運行任務的資源利用率。因此,如果低優先級應用正在獨占磁盤I/O或者使得其他硬件資源處于飽和狀態,即使是高優先級也需要等待。

隨著企業對Hadoop的使用更加深入,開始在多租戶集群中執行關鍵業務,他們需要確保高優先級任務不被低優先級任務阻礙。這是Hadoop提供服務質量(QoS)的先決條件,但目前開源項目尚未解決。

讓我們通過圖1展示的3個節點簡單集群來研究這個問題。這個例子中,隊列中有兩個任務準備由YARN資源管理器調度。資源管理器決定對HBase流關鍵業務和低優先級ETL任務在集群上同時運行,并對它們進行調度執行。

圖2展示了沒有QoS的集群運行情況。YARN確定集群有充足的資源可以同時運行低優先級和關鍵業務任務。在大多數情況下,需要關鍵業務任務在(服務級協議 SLA)給定的時間內執行完畢。低優先級任務沒有這樣的要求,它會先等待高優先級任務并延遲執行。

在這種情況下,低優先級任務開始訪問HDFS。接下來,關鍵業務任務需要訪問HDFS相同地址的數據。由于兩個任務的讀寫請求重疊,因此關鍵業務任務需要等待低優先級任務完成磁盤I/O操作。雖然在這個小例子里,這段等待時間不會導致嚴重的延遲或者對關鍵業務的SLA保證造成影響,但是在Hadoop多節點部署時,低優先級負載會很快累積并且爭奪對硬件的訪問。結果會對高優先級任務執行時間造成不可接受的嚴重影響。

要解決這個問題有以下幾種方法。第一種是為業務關鍵任務和低優先級應用分別部署到不同的集群。這是一種通常推薦的最佳實踐,同時也是確保QoS的完美邏輯解決方案。這種方法的缺點是浪費資源以及對不同集群的額外維護開銷。另一種“保證QoS”的方法是維持一個集群,但是手動將低優先級任務限制在非高優先級任務調度的時間段執行。而實際操作中,通常公司會發現這些方法管理起來都過于復雜,不能使用。

一種更加高效的解決方法是監控集群中每個節點的硬件資源,通過實時數據了解哪些任務在控制資源(比如,磁盤I/O),以此解決資源競爭。

Hadoop開源社區將大多數注意力和焦點都專注于讓Hadoop使用更簡單,部署和操作更容易。盡管如此,還是有技術能夠解決實時性能瓶頸。我所在的Pepperdata公司開發了一個解決方案,能夠在集群上提供實時秒級監測。可以獲得每個集群節點上各個人物運行時占用的硬件資源。利用這些信息,Pepperdata能夠在算法上構建一個全局的實時視圖,為RAM、CPU、磁盤和跨集群的網絡利用率,并且根據需要對資源自動重新分配。與YARN資源管理器相反,后者能夠控制任務執行的時間和方式。Pepperdata對硬件使用控制本身也是作為任務運行。

通過在配置文件中指定簡單的集群配置,管理員可以指定哪些集群的硬件資源分配給特定分組、用戶或任務。Pepperdata可以在實際運行中發現資源爭奪并在繁忙的集群上動態預防性能瓶頸。這樣就可以讓低優先級任務變慢,從而使得高優先級任務可以滿足SLA要求,并且最大程度讓大量用戶和任務能夠在單集群上可靠地運行。Pepperdata會根據預設的優先級上下文中查找實時資源分配,以此決定哪些任務允許實時訪問硬件資源。

任務執行性能取決于優先級和集群目前的條件,排除對硬件資源致命的爭奪以及負載隔離。軟件搜集了200個與CPU、RAM、磁盤I/O和網絡帶寬相關的統計數據。這些數據精確地指出了正在發生哪些問題。這樣IT組就可以快速識別并修復問題任務。由于Pepperdata是在一個集中式Hadoop部署中測量真實的硬件使用情況,因此軟件可以讓IT精確跟蹤和界定按部門、用戶和任務分攤的共享幾圈使用情況。通過保證穩定和可靠的集群性能,Pepperdata能夠確保集群的QoS。

Sean Suchter是Pepperdata公司的CEO和聯合創始人。他曾經擔任微軟硅谷技術研究中心的第一任總經理,領導將非死book和推ter集成到必應搜索。在加入微軟之前,他管理雅虎搜索技術團隊,也是Hadoop的第一個產品用戶。Sean由于雅虎對Inktomi的收購加入到雅虎團隊。他畢業于加利福尼亞理工學院,獲得工程和應用科學學士學位。

來自: http://www.chinacloud.cn/show.aspx?id=23694&cid=12

 

 本文由用戶 LukeOlivare 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!