運行在YARN上的計算框架
隨著YARN的成熟和穩(wěn)定(2013年8月25日已經(jīng)發(fā)布beta版),必將形成一個以YARN為核心的生態(tài)系統(tǒng),在該生態(tài)系統(tǒng)中,所有計算相關的框架可 運行在一個YARN集群中(由于YARN本身設計上的一些問題,目前還難以運行通用的服務,比如Web Server、HBase等,未來趨勢肯定是各類系統(tǒng)或者服務可運行在一個集群中,進行統(tǒng)一資源管理和調(diào)度)。為了關注該方向的技術動態(tài)和發(fā)展趨勢,本博 客開辟一個“運行在YARN上的框架”(framework-on-yarn)專欄,歡迎各位關注。作為這個專欄***篇文章,將介紹一下這種模式的好處以 及當前運行在YARN上相對而言較為成熟的計算框架。
1. 將框架運行在YARN上帶來的好處
隨著YARN的的成熟和穩(wěn)定,各類應用程序可以運行在一個YARN集群中進行統(tǒng)一資源管理和調(diào)度,這樣帶來的變化如下:
(1)應用程序部署變得更加簡單
管理員只需部署YARN服務即可,各類應用程序框架不再自帶服務,無需實現(xiàn)部署,它們已經(jīng)變成了客戶端編程庫(library),由YARN提供的分布式緩存機制分發(fā)到各個節(jié)點上;
(2)服務部署變得簡單
用戶可以通過運行一個應用程序的方式部署一套服務,比如Storm服務,至于jar包拷貝等工作,完全由YARN自動完成,部署完成后,用戶像使用普通的Storm集群那樣使用Storm-On-YARN
(3)多版本共享集群資源(簡單的隔離)
由于YARN只負責資源管理和調(diào)度,至于其上運行什么應用或者服務,完全由用戶自己決定,這使得用戶可在YARN上運行多個同類服務實例,比如運行 多個Storm實例供不同類型的應用,YARN本身可以為這些實例提供隔離機制(Cgroups)。有了YARN之后,用戶開發(fā)新的框架或者應用程序時, 可不必在考慮資源隔離問題。
(4)資源彈性管理
由于多類應用運行在一個YARN集群中,比如離線計算、實時計算、DAG計算等,YARN可根據(jù)不同類型的應用程序壓力情況,調(diào)整對應的資源使用量,實現(xiàn)資源彈性管理。
2. 目前可運行在YARN上的計算框架
運行在YARN上的框架,包括MapReduce-On-YARN, Spark-On-YARN, Storm-On-YARN和Tez-On-YARN。
(1)MapReduce-On-YARN:YARN上的離線計算,YARN發(fā)行版中自帶該實現(xiàn),隨著YARN的穩(wěn)定,MRv1運行方式會被淘汰;
(2)Spark-On-YARN:YARN上的內(nèi)存計算;
(3)Storm-On-YARN:YARN上的實時/流式計算;
(4)Tez-On-YARN:YARN上的DAG計算
3. 其他相關文章閱讀
我之前寫過一些類似的文章,有興趣的讀者可閱讀以下幾篇:
(1)Storm On YARN:http://dongxicheng.org/mapreduce-nextgen/storm-on-yarn/
(2)Tez On YARN:http://dongxicheng.org/mapreduce-nextgen/apache-tez-newest-progress/
(3)利用下一代Hadoop YARN構(gòu)建彈性計算平臺:http://dongxicheng.org/mapreduce-nextgen/use-hadoop-yarn-to-build-a-cloud-system/
(4)從問題域觸發(fā)理解Hadoop生態(tài)系統(tǒng):http://dongxicheng.org/mapreduce-nextgen/rethinking-hadoop-from-problems-solved/
(5)解析Google資源管理系統(tǒng)Omega:http://dongxicheng.org/mapreduce-nextgen/google-omega/
(6)淺談Omega/Torca/Mesos/YARN一類系統(tǒng):http://dongxicheng.org/mapreduce-nextgen/borg-yarn-mesos-torca-corona/
(7)多集群下資源共享方案介紹:http://dongxicheng.org/mapreduce-nextgen/multi-clusters-sharing-resources/
原文鏈接:http://dongxicheng.org/framework-on-yarn/distributed-computing-framework-on-yarn/