首頁技術文章正文

Hadoop集群初體驗——經(jīng)典單詞統(tǒng)計案例

更新時間:2021-08-06 來源:黑馬程序員 瀏覽量:

好口碑IT培訓

完成了Hadoop集群安裝和測試之后,顯示構(gòu)建的Hadoop集群能夠正常運行。接下來,就通過Hadoop經(jīng)典案例——單詞統(tǒng)計,來演示Hadoop集群的簡單使用。

(1)打開HDFS的UI界面,選擇【Utilities】→【Browse the file system】查看分布式文件系統(tǒng)里的數(shù)據(jù)文件,可以看到新建的HDFS系統(tǒng)上沒有任何數(shù)據(jù)文件,如圖1所示。

Hadoop集群

圖1 HDFS文件系統(tǒng)

(2)先在集群主節(jié)點hadoop01上的/export/data/目錄下,使用“vi word.txt”指令新建一個word.txt文本文件,并編寫一些單詞內(nèi)容,如文件所示。

文件 word.txt

hello itcast

hello itheima

hello hadoop

接著,在HDFS文件系統(tǒng)上創(chuàng)建/wordcount/input目錄,并將word.txt文件上傳至該目錄下,具體指令如下所示。

$ hadoop fs -mkdir -p /wordcount/input

$ hadoop fs -put /export/data/word.txt /wordcount/input

上述指令是Hadoop提供的進行文件系統(tǒng)操作的HDFS Shell相關指令,此處不必深究具體使用,在下一章節(jié)會進行詳細說明。執(zhí)行完上述指令后,再次查看HDFS的UI界面,會發(fā)現(xiàn)/wordcount/input目錄創(chuàng)建成功并上傳了指定的word.txt文件,如圖2所示。

Hadoop集群

圖2 HDFS文件系統(tǒng)

(3)進入Hadoop解壓包中的share/hadoop/mapreduce/目錄下,使用ll指令查看文件夾內(nèi)容,如圖3所示。

Hadoop集群

圖3 官方MapReduce示例程序

從圖3可以看出,在該文件夾下自帶了很多Hadoop的MapReduce示例程序。其中,hadoop-mapreduce-examples-2.7.4.jar包中包含了計算單詞個數(shù)、計算Pi值等功能。

因此,這里可以直接使用hadoop-mapreduce-examples-2.7.4.jar示例包,對HDFS文件系統(tǒng)上的word.txt文件進行單詞統(tǒng)計,來進行此次案例的演示,在當jar包位置執(zhí)行如下指令。

$ hadoop jar hadoop-mapreduce-examples-2.7.4.jar wordcount /wordcount/input /wordcount/output

上述指令中,hadoop jar hadoop-mapreduce-examples-2.7.4.jar表示執(zhí)行一個Hadoop的jar包程序;wordcount表示執(zhí)行jar包程序中的單詞統(tǒng)計功能;/wordcount/input表示進行單詞統(tǒng)計的HDFS文件路徑;/wordcount/output表示進行單詞統(tǒng)計后的輸出HDFS結(jié)果路徑。

執(zhí)行完上述指令后,示例包中的MapReduce程序開始運行,此時可以通過YARN集群的UI界面查看運行狀態(tài),如圖4所示。

Hadoop集群

圖4 YARN集群UI界面

經(jīng)過一定時間執(zhí)行后,再次刷新查看YARN集群的UI界面,就會發(fā)現(xiàn)程序已經(jīng)運行成功的狀態(tài)信息以及其他相關參數(shù)。

(4)在單詞統(tǒng)計的示例程序執(zhí)行成功后,再次刷新并查看HDFS的UI界面,如圖5所示。

Hadoop集群

圖5 MapReduce程序執(zhí)行結(jié)果

從圖5可以看出,MapReduce程序執(zhí)行成功后,在HDFS上自動創(chuàng)建了指定的結(jié)果目錄/wordcount/output,并且輸出了_SUCCESS和part-r-00000結(jié)果文件。其中_SUCCESS文件用于表示此次任務成功執(zhí)行的標識,而part-r-00000表示單詞統(tǒng)計的結(jié)果。

接著,就可以單擊下載圖2-48中的part-r-00000結(jié)果文件到本地操作系統(tǒng),并使用文本工具(EditPlus、Nodepad++、記事本等)打開該文件,如圖6所示。

Hadoop集群

圖6 MapReduce單詞統(tǒng)計結(jié)果文件

從圖6可以看出,MapReduce示例程序成功統(tǒng)計出了/wordcount/input/word.txt文本中的單詞數(shù)量,并進行了結(jié)果輸出。

在本節(jié)使用Hadoop提供的示例程序演示了單詞統(tǒng)計案例的實現(xiàn),在實際工作應用開發(fā)中,開發(fā)者需要根據(jù)需求自行編寫各種MapReduce程序,打包上傳至服務器上,然后執(zhí)行此程序。關于Hadoop系統(tǒng)的工作原理,以及MapReduce程序編寫方式,將在后面的章節(jié)進行詳細講解。

注意:

在執(zhí)行MapReduce程序時,可能會出現(xiàn)類似 “WARN hdfs.DFSClient:Caught exception”的警告提示信息,這是由于Hadoop版本以及系統(tǒng)資源配置的原因,讀者可以不必在意,它并不會影響程序的正常執(zhí)行。






猜你喜歡:

Hadoop集群部署有幾種模式?

Hadoop三種運行模式的應用場景

Hadoop安裝步驟講解,安裝目錄的內(nèi)容和作用是什么?

黑馬程序員python大數(shù)據(jù)開發(fā)培訓
分享到:
在線咨詢 我要報名
和我們在線交談!