簡介:本着對大數據的理解,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