
Idea是java的IDE,編寫了相應(yīng)的hadoop的代碼,那么怎么在上面調(diào)試呢?具體可以有兩個(gè)方法:
1、把相應(yīng)的代碼打包成jar,通過上傳的方式傳到服務(wù)器上,之后通過hadoop -jar的方式執(zhí)行相應(yīng)的代碼;
(PS:個(gè)人覺得這種方法是比較高大上,但是對(duì)于目前自學(xué)的人來說機(jī)器資源是限制這個(gè)方法的主要原因)
2、在idea中模擬集群的開發(fā)環(huán)境,配置相應(yīng)的參數(shù)對(duì)其進(jìn)行處理,這個(gè)過程主要是節(jié)省了在集群上配置的復(fù)雜過程,親測(cè)有效,可以很好的提升對(duì)代碼的理解
(PS:本文介紹的就是如何使用這個(gè)方法執(zhí)行hadoop的wordcount的過程)
正所謂有圖有真相,廢話不多說上圖吧!
創(chuàng)建項(xiàng)目
1.先新建一個(gè)工程:File->New->Project;
2.選擇Maven工程,配置相應(yīng)的Project SDK,之后選擇Next,跳轉(zhuǎn)到下一個(gè)頁(yè)面;

3.在新的界面中填寫相關(guān)信息:
這里面的groupid,artifactid和version是代表項(xiàng)目的三維坐標(biāo) , 點(diǎn)擊Next之后自動(dòng)跳出創(chuàng)建完成的提示框,選擇finish之后,項(xiàng)目創(chuàng)建完畢
GroupId:代表的是你創(chuàng)建項(xiàng)目的包名;
ArtifactId: 代表的是你創(chuàng)建項(xiàng)目的項(xiàng)目名;
Version:代表代碼的版本;


進(jìn)行環(huán)境配置
1.首先在hadoop官網(wǎng)上下載hadoop到本地,不需要下載別的內(nèi)容,只需要下載hadoop的包即可;
hadoop-2.7.4.tar.gz的包即可;PS:官網(wǎng)的地址這里就不在描述了,不知道的上網(wǎng)google下就可以了;
2.按照目錄結(jié)構(gòu)創(chuàng)建相應(yīng)的類文件,寫入相應(yīng)的代碼;

3.可能這個(gè)時(shí)候會(huì)報(bào)錯(cuò),不著急,我們慢慢來解決;
接下來打開project structure,在左側(cè)找到modules,點(diǎn)擊加號(hào)后,選擇JARs or directories..選項(xiàng)導(dǎo)入相應(yīng)的hadoop的jar;

4.將剛才下載的hadoop目錄下的share文件夾中的相應(yīng)目錄添加進(jìn)來;

5.點(diǎn)擊左側(cè)的artifacts,添加一個(gè)空jar;
點(diǎn)擊相應(yīng)的加號(hào),選擇module output,然后勾選我們的項(xiàng)目,點(diǎn)擊確定;

以上過程執(zhí)行完畢之后代碼中的錯(cuò)誤提示會(huì)消除,這樣相關(guān)依賴的配置就完成
配置執(zhí)行選項(xiàng)
1.選擇項(xiàng)目的run->edit configurations配置啟動(dòng)參數(shù);如果沒有application的話則需要添加;

、
2.配置啟動(dòng)參數(shù)
Name:application的名字;
Main class:執(zhí)行主類的名字;
Program arguments:程序啟動(dòng)參數(shù),配置數(shù)據(jù)的輸入目錄和輸出目錄
(ps:其他部分可以保持不變)

Question
1.開始執(zhí)行的時(shí)候可能會(huì)出現(xiàn)錯(cuò)誤提示:

解決辦法:
在導(dǎo)入hadoop的share的目錄下的時(shí)候注意是全部倒入才可以,重新導(dǎo)入即可;
2.執(zhí)行時(shí)報(bào)錯(cuò)缺少jar:

以上錯(cuò)誤重新導(dǎo)入下common/lib包即可;
3.output的輸出目錄無(wú)法創(chuàng)建:

這個(gè)錯(cuò)誤是配置輸出路徑的時(shí)候,output路徑多寫了一個(gè)“/”導(dǎo)致的。
成功輸出

PS
本人才疏學(xué)淺,如有不合理之處還望指教!謝謝大家!