1. 程式人生 > >大資料的Hdfs與MapReduce介紹

大資料的Hdfs與MapReduce介紹

簡介:本著對大資料的理解,HDFS是側重於大資料的資料儲存,MapReduce是側重於計算與任務的分配;

Page Rank (搜尋排名) 什麼是MapReduce ?

1、  資料是從頁面上面獲取,HDFS進行輸入

2、  Map 的輸出是Reduce的輸入;

3、  Map的輸入是HDFS,   Reduce的輸出也是         HDFS;

4、  一共是4次輸入輸出,都是key,value的形式;

5、  一個MR任務是job=map+Reduce;

6、  所有的key,value資料型別都是Hadoop自己的資料型別;

7、  String------text;   int-----IntWritable ;   long -----longWritable     null------nulllWritable;….

8、  所有的Hadoop型別都必須實現Hadoop序列化,即實現Writable介面;

9、  如果一個類實現了Writable介面,他的物件就可以作為MR的輸入與輸出;

HDFS

MapReduce

Yarn介紹:


啟動HDFS與yarn;

         1、startdfs.sh   stop dfs.sh    start yarn.sh   stop yarn.sh

2、總的就是start –all.sh   stop –all.sh

Yarn也是有主節點與真正執行的節點   resourceManager    與  nodeManager

安裝成功以後可以看以下程序 jps 是Java的命令,which jps就可以看到位置;

可以檢視日誌

MapReduce 有預設的排序

1、字串按照字典

2、數字按照  升序

備註:

- 什麼是hdfs? 
hdfs是一種分散式系統,其組成是namenode節點和datanode節點。顧名思義,namenode是“名位元組點”,儲存的是這部分儲存區域的相關資訊,並管理datanode節點;而datanode儲存的就是資料。一個namenode對應一個或多個datanode節點,每一個datanode執行在一臺機器上,所以這些datanode組合到一起將形成一個叢集(cluster),實現真正的分散式儲存檔案。需要注意的是namenode和datanode可能執行在同一臺機器上。 
除此之外,hdfs特別的地方是,加強了儲存檔案的安全性和完整性。namenode存在副本節點(standby node),當主節點出現問題,比如所執行的機器出現宕機,將由standby節點來取代並獲得datanode的管理許可權;而且每一段資料將備份在幾個不同的datanode上面(根據叢集的datanode數量來決定備份個數)。因此,對應的將會有一個儲存對映表,來記錄每一段資料分別儲存在哪些節點中,便於namenode進行管理和查詢。

- 什麼是yarn 
yarn是一個資源管理工具,用來分配資源。它的命名也是極為有趣,YARN(Yet Another Resource Negotiator,另一種資源協調者)。 
它包含幾個部分 ,ResourceManager,NodeManager,ApplicationMaster以及Container組成,基本思想是將JobTracker中的資源管理和作業排程進行分離,分別交給ResourceManager,ApplicationMaster進行管理,ApplicationMaster 承擔了以前的 TaskTracker 的一些角色,ResourceManager 承擔了 JobTracker 的角色。

二.啟動方法

以下預設已經成功安裝並配置完成hadoop,如未安裝配可參考如下網址:http://www.imooc.com/learn/391 
- namenode的啟動方法 
這裡將namenode和datanode的啟動從dfs的啟動分離出來,為了降低錯誤成本,全域性啟動hdfs的話可能會出現問題。 
注意:第一次啟動hdfs,需要進行格式化,命令可以找度娘,下面介紹正常的開啟命令。(以下所有命令均在/sbin目錄下進行) 
啟動namenode

hadoop-daemon.shstart namenode

·        1

驗證是否啟動,可以通過java的程序命令jps來檢測,如果檢測到namenode程序則說明啟動成功,否則,需要重新輸入命令。下同。 
啟動datanode

hadoop-daemon.shstart datanode

·        1

啟動yarn 
由於yarn的結構特性,此處推薦將yarn的所有功能一起啟動。 
啟動方式如下:

start-yarn.sh

·        1

同樣通過jps命令進行檢測,能夠檢測到ResourceManager和NodeManager程序。

三.檢視啟動資訊

如果通過以上步驟能夠成功啟動hdfs和yarn,那麼就可以到網頁中檢視儲存檔案的資訊和資源管理的資訊。檢視的方法如下:

1.    檢視yarn

管理yarn的埠為50700,即可以在網址部分輸入

yarn001:50700

·        1

注意,交換地址名稱與hadoop的配置檔案中所配置的保持一致,我的交換地址名稱為yarn001。下同。

1.    檢視hdfs 
管理hdfs系統的段口號為8088,即可以在網址部分輸入

yarn001:8088