HADOOP YARN是什麼?
Yarn全稱是Yet Another Resource Negotiator(資源管理器)
基本概念
Container
容器是Yarn對資源的一層抽象。(CPU核數,內存等計算資源)
容器由NodeManager啓動和管理,並被它所監控
容器由ResureceManager調度
ResourceManager(RM)負責資源管理,包含定時調度器(scheduler)和應用管理器(ApplicationManager)
調度器向分配資源,應用管理器監控應用程序。
ApplicationMaster
每提交一個作業,Appmaster向Resourcemanager申請資源,獲得資源後將運行的程序發送到容器啓動。(數據不動,程序動)
Nodemanager
負責容器的管理,監控資源的使用情況,向ResourceManager提供資源的使用報告。
程序提交流程
1. Client向Yarn提交Application
2. ResourceManager向NodeManager通信,爲Appmaster分配第一個容器
3. Appmaster對作業進行拆分,向ResourceManager申請容器
4. Appmaster與NodeManager通信,將作業分發到容器中。
5. 容器向Appmaster發送心跳
6. 程序結束,Appmaster向ResourceManager註銷資源