window本地運行mapreduce程序


 

mapreduce的運行方式一般有兩種,一是從本地導出一個jar包,在傳到虛擬機上運行,這樣調試起來非常的不方便,如果出現錯誤就需要重新導出jar包。

 

第二種方式是在本地直接運行,但是在運行前需要進行一些准備。我原來一直用的是方式一,由於需要,必須改成方式二,今天進行了相關的操作。

 

首先,需要准備windwos編譯下的hadoop包,實際上只需要將linux中的hadoop中的lib目錄替換,(還有的說法,如果還是不行的話,還需要將lib包中也替換)

 

由於我的Hadoop版本比較老,是2.4.1,bin目錄不是很好找,下邊是我早github中找到的鏈接

https://github.com/srccodes/hadoop-common-2.2.0-bin

直接粘到hadoop中的bin目錄替換,然后就是書寫mapreduce程序,里邊的代碼和虛擬機中的代碼基本一致,但是,需要在主程序中加入一行代碼

         Configuration conf = new Configuration();

 conf.set("fs.defaultFS","hdfs://192.168.252.200:9000");

這兩句最好緊挨着,否則會報錯。這里邊的設置的自己虛擬機上的master節點的ip地址。然后直接運行程序,就可以成功了

 

網上有人說要配置HADOOP_HOME的系統變量,但是本人在運行程序時嘗試修改,但是沒有成功,可是但運行mapreduce時不會報錯,所以這個步驟因該沒有用

 

在運行時可能會出  pression denied錯誤,這是因為你的hdfs中的文件的權限太高,你可以直接將其設置成777,使任何用戶都具有訪問該文件的權限。

 

親自嘗試,可以成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM