搭建完成環(huán)境后,開始調(diào)試mapreduse程序。但是遇到不停的報(bào)錯(cuò)。本人很討厭在自己的操作系統(tǒng)環(huán)境變量里設(shè)置來設(shè)置去,包括linux也是。通常喜歡把環(huán)境變量設(shè)置在啟動(dòng)程序的腳本中,讓腳本自己運(yùn)行的環(huán)境中有適合的環(huán)境變量值便可。在Eclipse里,我預(yù)計(jì)需要設(shè)置hadoop_home變量的值,設(shè)置后,不管怎樣調(diào)試。都報(bào)錯(cuò):
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.http://www.jyygyx.com/access/0(Ljava/lang/String;I)Z
百度了1下,很多人遇到這類問題。是windows的hadoop安裝目錄下,bin目錄中缺少hadoop.dll和winutils.exe等動(dòng)態(tài)庫。不過我在之前的環(huán)節(jié)已放了這些文件,可是還是不成功。經(jīng)過數(shù)天的查找,最后發(fā)現(xiàn),hadoop的常規(guī)安裝進(jìn)程中,還要增加bin目錄到path路徑。因而在Eclipse調(diào)試環(huán)境中,加上path的設(shè)置。調(diào)試順利通過。
不多說,注意看圖:
選擇Debug配置項(xiàng),設(shè)置環(huán)境參數(shù)。
OK進(jìn)入調(diào)試1切正常。
這樣做過以后,如果要打包發(fā)布程序,最好記得在腳本里配置上述環(huán)境變量,否則各種異常奇葩毛病像你襲來!!