從本章節你能夠學習到:apache
(1)本地模式(local(standaolne) mode):不須要啓用任何守護進程,全部程序都在同一個JVM上執行。在獨立模式下測試和調試MapReduce程序都很方便,解壓以後直接能夠運行。很是適合咱們進行測試和開發使用。分佈式
(2)僞分佈式模式(Pseudo-Distributed Mode):等同於徹底分佈式,但全部的守護進程只運行在一臺機器上,經過啓動不一樣的守護進程模擬集羣節點。oop
(3)徹底分佈式模式(Full-Distributed Mode):Hadoop的守護進程運行在多臺機器上(集羣)。學習
grep案例是用來進行單詞匹配的案例。咱們按照官方教程來走一遍具體流程。測試
一、在hadoop-2.7.2文件下面建立一個input文件夾,並將hadoop的xml配置文件複製到裏面:this
# cd /opt/module/hadoop-2.7.2 # mkdir input # cp etc/hadoop/*.xml input/
二、能夠看到input目錄下擁有差很少5個xml文件,如今咱們想要知道在這些文件夾中究竟有多少個以dfs開頭並至少還有一個其餘的字母的單詞,例如dfsu。只需執行官方爲咱們提供的參考jar包結合hadoop命令便可:調試
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
其中:code
三、運行以後,咱們會發如今當前目錄下生成了一個output文件夾,進入後發現有2個文件其中一個大小爲0,表名運行是否正確,你會看到其名字爲'_SUCCESS',另一個,就是咱們想要的輸出結果了。查看輸出結果:orm
# cat part-r-00000
輸出xml
1 dfsadmin
即匹配結果單詞有'dfsadmin',匹配次數爲1次。
接下來咱們在測試一個簡單的統計單詞的案例,和grep案例同樣,咱們先構建一個輸入文件夾,往裏面放多個文件,隨意的放入各類單詞信息。
一、構建輸入
# cd /opt/module/hadoop-2.7.2 # mkdir winput # cd winput # touch 1.txt # touch 2.doc # touch 3.xml
別忘了往文件裏隨便寫些單詞(有空格分離)
二、執行命令
# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount winput/ woutput
三、執行完成以後,一樣來到輸出結果的文件夾woutput,查看統計結果:
beautiful 1 best 1 for 1 good 1 haha 3 is 2 item 1 learn. 1 my 1 place. 1 this 2 to 1
能夠看到咱們寫入的單詞的統計信息。
經過以上兩個例子,相信你得到了很多經驗,好比
-Dmapreduce.input.fileinputformat.input.dir.recursive=true
便可。-Dmapreduce.input.fileinputformat.input.dir.recursive=true只在2.0以後生效。