Hadoop中的wordcount 程序相當(dāng)于其他語(yǔ)言的Hello World程序,郁悶的是根竿,這個(gè)程序我已好幾次運(yùn)行失敗了。
但是今天就珠,在我的努力下寇壳,終于把它運(yùn)行成功了。此處曬圖慶祝(剛?cè)腴T有什么好慶祝的^--^)
咋運(yùn)行成功的我就不細(xì)說(shuō)了妻怎,網(wǎng)上好多文章壳炎。這里主要記錄一下遇到的坑。
1.啟動(dòng)hadoop的時(shí)候蹂季,出現(xiàn)starting namenode on ?[],我用的是偽分布式冕广,所以這個(gè)地方中括號(hào)里面應(yīng)該是localhost才對(duì)疏日,最后經(jīng)過(guò)查找發(fā)現(xiàn)core-site.xml屬性配置有問(wèn)題偿洁,屬性fs.name.default的值應(yīng)該為hdfs://localhost:9000 ,我寫成了hdfs:localhost:9000沟优,少了雙斜杠涕滋,加上之后再重新啟動(dòng),通過(guò)jps命令查詢挠阁,已經(jīng)成功啟動(dòng)宾肺。
2.在運(yùn)行wordcount程序時(shí)溯饵,出現(xiàn)異常:
File file:/usr/hadoop/hadoop-2.7.1/usr/hadoop/tmp/nm-local-dir/usercache/root/appcache/application_1478069602662_0002/usr/hadoop/tmp/nm-local-dir/usercache/root does not exist ? ?Failing this attempt. Failing the application
大概看著像某個(gè)文件或文件夾不存在,于是在網(wǎng)上找相關(guān)內(nèi)容锨用,找了半天也沒(méi)有找到靠譜的結(jié)果丰刊。
并且異常信息中的這個(gè)路徑好像根本就不存在,只是temp這個(gè)目錄有點(diǎn)熟悉增拥,突然想到core-site.xml中有個(gè)屬性就是配置temp目錄的啄巧,重新編輯這個(gè)文件,發(fā)現(xiàn)hadoop.tmp.dir這個(gè)屬性的值少了一個(gè)/符合掌栅,少了這個(gè)就意味著找不到這個(gè)文件秩仆。嘗試把路徑修改后再運(yùn)行,就得到了上面 截圖中的內(nèi)容猾封。
兩個(gè)坑其實(shí)都是粗心大意造成的澄耍,以后注意。但通過(guò)填坑關(guān)鍵還是要不斷積累解決問(wèn)題的經(jīng)驗(yàn)和方法晌缘。