Yarn知識點整理
前段時間記錄了技術博客Yarn快速入門系列(1-5),詳情請見Yarn專欄。最近打算花點時間把Yarn也精煉一番,整理出來,以便于后期的快速復習。
文章目錄
1、什么是Yarn
2、Yarn特點
3、Yarn的意義
4、Yarn基本組成
5、Yarn提交任務的流程
6、Yarn的調度方式
7、參數yarn.scheduler.fair.allow-undeclared-pools的作用是?(true/false)
8、參數yarn.scheduler.fair.user-as-default-queue的作用是?(true/false)
9、介紹一下hadoopHA
10、ZKFC作用:
11、NameNode 中 Active狀態和StandBy狀態的確認:
12、ActiveNameNode宕機之后故障如何轉移
13、兩個NameNode之間的元數據信息如何實現快速同步?
1、什么是Yarn
Yarn是通用資源管理系統和調度平臺
2、Yarn特點
1、支持多計算框架
2、資源利用率高,運行成本低,數據共享
3、Yarn的意義
降低了企業硬件的成本(多個集群變成一個集群),減少了資源的浪費,運營成本低。
4、Yarn基本組成
ResourceManager:一個集群資源調度的管理者
ApplicationMaster:一個計算任務的管理者
Container:容器(cpu和內存)
5、Yarn提交任務的流程
1、
client向RM提交應用程序
,其中包括啟動該應用的ApplicationMaster的必須信息,例如ApplicationMaster程序、啟動ApplicationMaster的命令、用戶程序等。
2、
ResourceManager啟動一個container用于運行ApplicationMaster
3、
啟動中的ApplicationMaster向ResourceManager注冊自己
,啟動成功后與RM保持心跳。
4、
ApplicationMaster向ResourceManager發送請求,申請相應數目的container
。
5、
申請成功的container,由ApplicationMaster進行
初始化
。
container的啟動信息初始化后,AM與對應的NodeManager通信,
要求NM啟動container
。
6、NM啟動啟動container。
7、
container運行期間,ApplicationMaster對container進行監控。
container通過RPC協議向對應的AM匯報自己的進度和狀態等信息。
8、應用運行結束后,ApplicationMaster向ResourceManager注銷自己,并允許屬于它的container被收回。
6、Yarn的調度方式
FIFO Scheduler : 先進先出(先來后到的順序)
Capacity Scheduler:容量調度
Fair Scheduler:公平調度
1、先進先出:優先提交的,優先執行,后面提交的等待。(火車過隧道)。
2、容量調度:允許創建多個任務對列,每個隊列使用所有資源的一部分。多個任務對列可以同時執行。但是一個隊列內部還是先進先出。
CDH默認的調度器
。
3、公平調度:第一個程序在啟動時可以占用其他對列的資源(100%占用),當其他對列有任務提交時,占用資源的對列需要將資源還給該任務。還資源的時候,效率比較慢。
7、參數yarn.scheduler.fair.allow-undeclared-pools的作用是?(true/false)
如果提交一個任務沒有到任何的隊列,是否允許創建一個新的隊列,默認為true
8、參數yarn.scheduler.fair.user-as-default-queue的作用是?(true/false)
是否提交到默認隊列 ,以用戶名為默認隊列
9、介紹一下hadoopHA
1、HadoopHA 包括兩個部分,NameNodeHA和ResourceManagerHA
2、hadoop HA解決了早期版本中的NameNode單點問題。YarnHA解決了ResourceManager的單點問題
3、NameNodeHA方案中包含兩個NameNode,一個是Active狀態,一個是StandBy狀態。每個NameNode分配在兩個完全獨立的服務器中。每個Namenode所在的節點需配置一個ZKFC。
4、兩個Namenode之間的元數據同步使用JN(JournalNode )傳遞。
10、ZKFC作用:
監控NameNode所在節點的硬件設備,軟件,操作系統,同時維護與ZK的通信。主要用于兩個NameNode之間狀態切換時的信息傳遞。
11、NameNode 中 Active狀態和StandBy狀態的確認:
兩個NameNode到ZooKeeper集群注冊一個臨時的ZNode,哪個先注冊成功,哪個就是Active,另外一個就是StandBy。
12、ActiveNameNode宕機之后故障如何轉移
當ActiveNN節點故障 ——>
ActiveZKFC通知ZK刪除臨時ZNode ——>
StandBy狀態的ZKFC訂閱這個臨時ZNode的變換,若ZNode消失,StandBy狀態的ZKCF立刻通知StandBy NN ——>
StandBy NN 遠程登錄ActiveNN,執行Kill -9 ActiveNN ——>
StandBy NN通知StandBy ZKFC去ZK上注冊臨時ZNode,注冊成功切換為active狀態。
13、兩個NameNode之間的元數據信息如何實現快速同步?
ActiveNameNode實時將FSimage和日志接入JournalNode(高效的存儲系統)。StandByNameNode實時獲取JournalNode內部的數據,實現兩個節點的實時元數據同步。
本篇的知識分享就到這里,受益或對大數據技術感興趣的朋友可以關注一下我喲~
Hadoop Yarn
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。