YARN
- YARN(Yet Another Resource Negotiator)經過兩類長期運行的守護進程(daemon)提供核心服務,a resource manager(每個集羣只有一個)來管理集羣資源,node manager在集羣中全部節點上運行,啓動和監控容器。一個容器運行一個特別的應用進程,分配必定的資源(內存,cpu)
- 在YARN上執行一個應用,客戶端訪問resource manager來執行一個應用主進程,resource manager找到一個node manager來運行應用主進程在一個容器中。
- 一個應用進程能夠在容器中執行一個簡單的計算,也能夠再申請一個nodemanager來執行分佈式計算
- YARN自己不提供應用的任何部分,使用RPC層來進行遠程溝通,傳遞狀態,更新屬性,返回結果。
- 一個YARN應用能夠申請資源在任什麼時候候,它能夠所有申請完在運行開始,也能夠動態的申請來知足需求的變化
- Sprak是一次性申請完,MapReduce則是Map階段申請完,Reduce動態申請。
- 應用的生命週期(Application Lifespan)很普遍,能夠幾秒也能夠幾天甚至幾個月。一般能夠對用戶的job進行分類,有的是一個job就對應一個應用,例如mapreduce。另一個模型是一個workflow或者(user session不太理解)job對應一個應用,這種模型比第一個高校點,由於應用能夠複用。同時中間數據也能夠緩存下來,Spark使用這種模型。
- 第三種模型是不一樣用戶共享的一個長期執行的應用。這類應用通暢扮演一種協調角色。(impla是這種)
歡迎關注本站公眾號,獲取更多信息