HDFS特點
1.資料備援,軟體容錯很高。
2.流失資料通路,也就是HDFS一次寫入,多次讀寫,并且沒辦法進行修改,隻能删除之後重新建立
3.适合存儲大檔案。如果是小檔案,而且是很多小檔案,連一個塊都裝不滿,并且還需要很多塊,就會極大浪費空間。
HDFS的适用性和局限性:
1.資料批量讀寫,吞吐量高。
2.不适合互動式應用,延遲較高。
3.适合一次寫入多次讀取,順序讀取。
4.不支援多使用者并發讀寫檔案。
MapReduce:
MapReduce是并行處理架構,實作任務分解和排程。
其實原理說通俗一點就是分而治之的思想,将一個大任務分解成多個小任務(map),小任務執行完了之後,合并計算結果(reduce)。
2.HDFS上運作MapReduce
1)準備文本檔案,放在本地/home/hadoop/wc

2)編寫map函數和reduce函數,在本地運作測試通過
mapper
reduce
3)啟動Hadoop:HDFS, JobTracker, TaskTracker
4)把文本檔案上傳到hdfs檔案系統上 user/hadoop/input
5)streaming的jar檔案的路徑寫入環境變量,讓環境變量生效
6)建立一個shell腳本檔案:streaming接口運作的腳本,名稱為run.sh
7)source run.sh來執行mapreduce
8)檢視運作結果