hadoop是什麼?學習大資料乾貨分享

2021-09-08 03:03:13 字數 2227 閱讀 6379

hadoop是大資料的乙個總稱,hadoop yarn是dadoop2的乙個基礎框架。現在常用的就是hadoop yarn,hadoop yarn可以說是大資料入門必須了解的部分。

大資料是未來的發展方向,正在挑戰我們的分析能力及對世界的認知方式,因此,我們與時俱進,迎接變化,並不斷的成長!大資料學習群:199427210 一起討論進步學習

1.介紹

yarn(yet another resource negotiator)是乙個通用的資源管理平台,可為各類計算框架提供資源的管理和排程。

之前有提到過,yarn主要是為了減輕hadoop1中jobtracker的負擔,對其進行了解耦。現在通常都會使用hadoop yarn,因為其穩定性更加優秀,yarn是對mapreduce v1重構得到的,有時候也稱為mapreduce v2。

2.yarn體系架構

首先,整個hadoop yarn和hadoop1一樣,也是建立在hdfs分布式檔案系統上,hdfs是為了集群而生的,它依託於整個hadoop集群所有的硬碟容量。例如整個集群有100臺伺服器,每個伺服器有都有5t的容量,那麼整個hdfs最大可以有500t容量(這裡只是打個比喻,因為伺服器本身作業系統需要占用空間,並且還需要安裝一些必要的元件,hadoop本身程式也需要占用空間,因此肯定會小於500t)。使用者在使用hdfs檔案系統的時候,需要先將本地的檔案put到檔案系統上,然後集群才能使用這些資料,具體如何使用後續會有詳細的**講解。

yarn架構如下圖所示:

負責對各nm上的資源進行統一管理和排程。將am分配空閒的container執行並監控其執行狀態。對am申請的資源請求分配相應的空閒container。主要由兩個元件構成:排程器和應用程式管理器:

排程器是可插拔的,例如capacityscheduler、fairscheduler。具體看下文的排程演算法。

nodemanager (nm)

nm是每個節點上的資源和任務管理器。它會定時地向rm匯報本節點上的資源使用情況和各個container的執行狀態;同時會接收並處理來自am的container 啟動/停止等請求。

container:

container是yarn中的資源抽象,它封裝了某個節點上的多維度資源,如記憶體、cpu、磁碟、網路等,當am向rm申請資源時,rm為am返回的資源便是用container 表示的。 yarn會為每個任務分配乙個container且該任務只能使用該container中描述的資源。

3. yarn應用工作流程

如下圖所示使用者向yarn中提交乙個應用程式後,yarn將分兩個階段執行該應用程式:

啟動am ,如下步驟1~3;

由am建立應用程式為它申請資源並監控它的整個執行過程,直到執行完成,如下步驟4~7。

yarn應用工作流程圖

2、rm為該應用程式分配第乙個container,並與對應的nm通訊,要求它在這個container中啟動am;

3、am首先向rm註冊,這樣使用者可以直接通過rm檢視應用程式的執行狀態,執行狀態通過 amrmclientasync.callbackhandler的getprogress() 方法來傳遞給rm。 然後它將為各個任務申請資源,並監控它的執行狀態,直到執行結束,即重複步驟4〜7;

4、am採用輪詢的方式通過rpc協議向rm申請和領取資源;資源的協調通過 amrmclientasync非同步完成,相應的處理方法封裝在amrmclientasync.callbackhandler中。

5、—旦am申請到資源後,便與對應的nm通訊,要求它啟動任務;通常需要指定乙個containerlaunchcontext,提供container啟動時需要的資訊。

6、nm為任務設定好執行環境(包括環境變數、jar包、二進位制程式等)後,將任務啟動命令寫到乙個指令碼中,並通過執行該指令碼啟動任務;

8、應用程式執行完成後,am向rm登出並關閉自己。

之後會繼續學習另乙個重要的zookeeper,這是hadoop ha模式最重要的一環。

大資料需要知道,Hadoop是什麼!

隨著近幾年計算機技術和網際網路的發展,大資料 這個名詞越來越多進入我們的視野。大資料的快速發展也在無時無刻影響著我們的生活。那大資料究竟是什麼呢?首先,看看專家是怎麼解釋大資料的 大資料就是多,就是多。原來的裝置存不下 算不動。啪菠蘿 畢卡索 大資料,不是隨機樣本,而是所有資料 不是精確性,而是混雜...

學習筆記 Hadoop是什麼

1.hadoop是什麼 hadoop原來是apachelucene下的乙個子專案,它最初是從nutch專案中分離出來的專門負責分布式儲存以及分布式運算的專案。簡單地說來,hadoop是乙個可以更容易開發和執行處理大規模資料的軟體平台。2.下面列舉hadoop主要的一些特點 1擴容能力 scalabl...

大資料Hadoop學習六

1 hadoop的改進 hadoop 1.0到2.0的改進分為mapreduce和hdfs架構的演進。另一方面,不斷加入kafka,spark,pig,tez等新的元件。hadoop2.0 針對hdfs涉及了hdfs ha,提供名稱節點的熱備份 設計了hdfs federation管理多個命名空間 ...