1. 程式人生 > >window本地運行mapreduce程序

window本地運行mapreduce程序

方便 set con 直接 系統 ip地址 運行程序 運行時 tps

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,使任何用戶都具有訪問該文件的權限。

親自嘗試,可以成功

window本地運行mapreduce程序