摘要:引語(yǔ)這幾周事情比較多,兩周沒(méi)寫(xiě)博客了,這周總算把的實(shí)例給運(yùn)行起來(lái),然后跑了一下官方的例子用于統(tǒng)計(jì)文件中單詞出現(xiàn)的次數(shù)。接下來(lái)是我成功運(yùn)行實(shí)例的記錄。
引語(yǔ):
這幾周事情比較多,兩周沒(méi)寫(xiě)博客了,這周總算把hadoop的實(shí)例給運(yùn)行起來(lái),然后跑了一下官方的wordcount例子(用于統(tǒng)計(jì)文件中單詞出現(xiàn)的次數(shù))。
接下來(lái)是我成功運(yùn)行實(shí)例的記錄。運(yùn)行的前提是安裝配置好hadoop(可以參考我上一篇博客:hadoop偽分布式安裝記錄)
1.先準(zhǔn)備一個(gè)包含單詞的文件,然后將這個(gè)文件上傳到linux服務(wù)器上。
文件內(nèi)容:
hello world hello hadoop abc hadoop aabb hello word count test hdfs mapreduce
2.使用hdfs的命令創(chuàng)建好輸入文件的目錄(hfds的命令基本上和linux一樣,可以去官網(wǎng)上查看下) hadoop fs -mkdir /input/wordcount
然后在創(chuàng)建一個(gè)輸出目錄/output為后續(xù)hadoop存放運(yùn)行結(jié)果
3.然后將文件放入到hadoop的文件系統(tǒng)中hadoop fs -put /home/file1 /input/wordcount
創(chuàng)建完可以使用ls檢查一下是否文件存在 hadoop fs -ls -R /
4.再進(jìn)入到hadoop的share/hadoop/mapreduce中,有一個(gè)hadoop-mapreduce-examples-3.1.2.jar
通過(guò)hadoop jar hadoop-mapreduce-examples-3.1.2.jar 可以查看到這個(gè)官方給的例子里面有哪些程序可以執(zhí)行
如下:
可以看到很多自帶的使用程序,我們這里就使用wordcount。
執(zhí)行命令
hadop jar hadoop-mapreduce-examples-3.1.2.jar /input/wordcount /output/wordcount
最后的兩個(gè)參數(shù)一個(gè)是文件的輸入路徑,就是我們之前創(chuàng)建再hdfs的路徑,第二個(gè)參數(shù)是文件的輸出路徑,
如果沒(méi)有的話hadoop會(huì)自己創(chuàng)建。
5.然后首先會(huì)進(jìn)行map的過(guò)程,在使reduce的過(guò)程,這里可以理解為分而治之的步驟,map是多臺(tái)機(jī)器上分別處理文件的中間結(jié)果,然后通過(guò)reduce(減少,聚合)把結(jié)果給匯總。
而且是先map執(zhí)行完再回執(zhí)行reduce。
6.去輸出文件中查看結(jié)果,output/wordcount里面會(huì)有三個(gè)文件,有一個(gè)帶part的就是輸出結(jié)果,可以使用hadoop fs -cat 輸出文件的路徑查看結(jié)果
雖然看起來(lái)步驟不是很多,內(nèi)容也比較簡(jiǎn)單,但是坑還是挺多的。要注意的點(diǎn):
1.偽分布式搭建的hadoop,hostname這個(gè)要設(shè)置好,要和配置文件中一致,實(shí)在不行就直接指定127.0.0.1(反正我是這樣解決了)
2.yarn的內(nèi)存配置要合理,太小了發(fā)現(xiàn)會(huì)一直卡在runing job這個(gè)環(huán)節(jié)或者一直卡在map 0%這里,此時(shí)要去yarn-site中設(shè)置好內(nèi)存的大?。ǜ鶕?jù)實(shí)際服務(wù)器的內(nèi)存設(shè)置,我設(shè)置的是2048M后就可以了)
3.如果發(fā)現(xiàn)卡在某個(gè)環(huán)節(jié),記得去查看hadoop安裝目錄下的logs,里面有很多日志類(lèi)型,包括nodeManageer,resourceManager等,執(zhí)行不動(dòng)了,日志里面會(huì)有相應(yīng)的日志和提示可以幫助發(fā)現(xiàn)問(wèn)題。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/76283.html
摘要:運(yùn)行程序運(yùn)行你的根目錄運(yùn)行這條命令后,會(huì)啟動(dòng)一個(gè)來(lái)運(yùn)行程序,而且會(huì)在集群上創(chuàng)建一個(gè)文件夾,將結(jié)果存在其中。 在安裝并配置好Hadoop環(huán)境之后,需要運(yùn)行一個(gè)實(shí)例來(lái)驗(yàn)證配置是否正確,Hadoop就提供了一個(gè)簡(jiǎn)單的wordcount程序,其實(shí)就是統(tǒng)計(jì)單詞個(gè)數(shù)的程序,這個(gè)程序可以算是Hadoop中的Hello World了。 MapReduce 原理 MapReduce其實(shí)就是采用分而治之的...
閱讀 1278·2021-11-17 09:33
閱讀 1747·2021-09-09 11:53
閱讀 3217·2021-09-04 16:45
閱讀 1394·2021-08-17 10:12
閱讀 2391·2019-08-30 15:55
閱讀 1782·2019-08-30 15:53
閱讀 2411·2019-08-30 15:52
閱讀 2562·2019-08-29 18:41