Hadoop從入門到精通系列之--0.Hadoop生態體系
目錄
一 大資料的組織部門結構
要向著資料探勘組的職位努力,平臺組偏向於運維方向,資料倉庫組和資料探勘組是最好的就業方向,報表開發組就不好意思評價了,其實就是普通的javaEE工程師,學的大資料就沒有意義了。
二 Hadoop的組成部分
2.1 HDFS
為了解決大資料的儲存的問題,它的成員有三個,分別是NameNode,DataNode,SecondaryNameNode(2nn),下面分別介紹這三個成員,因為HDFS是解決大資料的儲存問題,所以在入門這方面的時候要牢記儲存二字。
- NameNode:儲存檔案的元資料,比如檔名,檔案目錄結構,檔案屬性(生成時間,副本書,檔案許可權),以及每個檔案的塊列表,和塊所在的DataNode。
- DataNode:在本地硬碟上儲存的具體檔案,塊檔案和塊檔案的校驗和。它和NameNode的關係就像目錄和具體內容的關係一樣。
- SecondaryNode:作為NameNode的輔助工具,相當於NameNode中元資料的備份
2.2 YARN
YARN相當於Hadoop的大管家,主要是分配資源,管理這個叢集上的任務,對這些任務進行管理,還是理解大管家這個詞比較貼切。它的成員主要有ResourceManager,NodeManager,ApplicationMaster,Container。
- ResourceManager:處理客戶端的請求如job.waitForCompletion(true);監控NodeManager,如所有的Node都要向ResourceManager報告自己的狀態;啟動和監控ApplicationMaster;資源的分配和排程。總的來說ResourceManager是大管家
- NodeManager:管理單個節點的資源;處理來自ResourceManager的命令;處理來自ApplicationMaster的命令;總的來說NodeManager是當前這個伺服器的小管家
- ApplicationMaster:由ResourceManager建立;負責資料的切片;為job申請資源並分配資源;
- Container:它是ResourceManager中提到的資源的抽象,它儲存的是當前伺服器的配置比如說記憶體,硬碟,cpu等,當ApplicationMaster向ResourceManager申請資源的時候,它負責分配。
2.3 MapReduce
MapReduce是分為兩個階段的,分別是Map階段和Reduce階段。
- Map階段:主要作用是並行處理輸入的資料,比方說有1TB的資料,用一臺電腦處理和1千個電腦處理就是不一樣的,Map階段就相當於使用一千個電腦處理資料
- Reduce階段:主要作用是彙總Map階段的結果,上面說了Map階段是並行的,所以有很多電腦處理,那麼每個電腦處理的結果誰來彙總呢?Reduce階段就是乾的這個活
三 Hadoop生態體系
很多人都不知道Hadoop生態是什麼?大資料僅僅依靠Hadoop框架是不夠的,這個體系是龐大的,不僅僅包含Hadoop,它還有其它的框架,這個生態構成了現在的大資料生態。
四 Hadoop的目錄結構
本不該在這個地方介紹Hadoop目錄結構的,但是也沒有關係,看一看它長什麼模樣,不是更直觀嗎?在Linux上安裝好Hadoop之後,可以檢視一下它的目錄結構。如下:
4.1 bin目錄
存放著對Hadoop相關服務(HDFS,YARN)進行操作的指令碼。
普及一下Linux的基本知識,上圖中行首那一串估計有很多人不懂,這裡普及一下:
-rwxr-xr-x. 1 wanglei wanglei 11386 5月 22 2017 yarn.cmd
- - :不要忽略這個橫槓,第一位表示檔案型別,- 表示普通檔案,d 表示資料夾,1 表示軟連線, c 表示裝置,鍵盤什麼的,b 表示塊檔案,硬碟。
- rwx:三位結合來看,r表示可讀,w表示可寫,x表示可執行,這三位表示檔案所有者對這個檔案擁有讀寫執行許可權
- r-x:同理,這三位表示檔案所在組的其他使用者對這個檔案有讀執行許可權
- r-x:同理,這三位表示其他組的使用者對這個檔案有讀執行許可權
- 1:如果是檔案,表示硬連結的個數,如果是資料夾,表示子資料夾的個數
- wanglei wanglei:檔案的所有者和所有者在的組
- 11386:檔案大小,如果是資料夾的話,大小為4096
- 後面的是檔案時間和檔名稱
4.2 etc目錄
存放Hadoop的配置檔案
4.3 lib目錄
存放Hadoop的本地庫,對資料進行壓縮和解壓縮的功能庫
4.4 sbin目錄
存放啟動和停止Hadoop服務的命令,與bin的區別在於bin中是具體操作的命令,而sbin目錄是啟動和停止服務的。
4.5 share目錄
存放Hadoop的依賴jar包,官方文件,和官方的案例