HDFS中的基本概念 塊(Block):HDFS的文件被分成塊進(jìn)行存儲(chǔ),HDFS塊的默認(rèn)大小是64MB。塊是文件存儲(chǔ)處理的邏輯單元 NameNode:NameNode是管理節(jié)點(diǎn),存放文件元數(shù)據(jù) (1)文件與數(shù)據(jù)塊的映射表 (2)數(shù)據(jù)塊與數(shù)據(jù)節(jié)點(diǎn)的映射表 DataNode:DataNode是HDFS的工作節(jié)點(diǎn),存放數(shù)據(jù)塊 HDFS體系結(jié)構(gòu) HDFS的數(shù)據(jù)管理與容錯(cuò) (1)每個(gè)數(shù)據(jù)塊3個(gè)副本,分布在兩個(gè)機(jī)架內(nèi)的三個(gè)節(jié)點(diǎn) (2)DataNode定期向NameNode發(fā)送心跳消息 (3)二級(jí)NameNode定期同步元數(shù)據(jù)映像文件和修改日志。NameNode發(fā)生故障時(shí),備胎轉(zhuǎn)正 HDFS讀取文件的流程: HDFS 特點(diǎn) (1)數(shù)據(jù)冗余,硬件容錯(cuò) (2)流式的數(shù)據(jù)訪問(wèn)(一次寫入多次讀?。?/p> (3)適合存儲(chǔ)大文件 (4)適合數(shù)據(jù)批量讀寫,吞吐量高 (5)適合一次寫入多次讀取,順序讀寫。不支持多用戶并發(fā)寫相同文件 HDFS命令操作演示
MapReduce原理 分而治之,一個(gè)大任務(wù)分成多個(gè)小的子任務(wù)(map),并行執(zhí)行后,合并結(jié)果(reduce) MapReduce運(yùn)行流程 Job & Task:一個(gè)Job可以分成多個(gè)map task和 reduce task JobTracker:作業(yè)調(diào)度、分配任務(wù)、監(jiān)控任務(wù)執(zhí)行進(jìn)度、監(jiān)控TaskTracker的狀態(tài) TaskTracker:執(zhí)行任務(wù)、匯報(bào)任務(wù)狀態(tài) MapReduce應(yīng)用案例--WordCount單詞計(jì)數(shù) 計(jì)算文件中出現(xiàn)的每個(gè)單詞的頻數(shù),輸入結(jié)果按照字母的順序排序 首先編寫好代碼(編寫WordCount.java,里面包含Mapper類和Reducer類) 編譯
打包
創(chuàng)建輸入和輸出文件file1和file2 將filhe1 和 file2提交至 hdfs中去
可以通過(guò) hadoop fs -ls 命令查看 input_wordcount文件夾的位置 提交
查看結(jié)果
|
|
來(lái)自: 昵稱11935121 > 《未命名》