http://www.aygfsteel.com/paulwong/archive/2012/10/03/388977.html
如果是在WINDOWS的ECLIPSE中,運(yùn)行HBASE的MAPREDUCE,會(huì)出現(xiàn)異常,這是由于默認(rèn)運(yùn)行MAPREDUCE任務(wù)是在本地運(yùn)行,而由于會(huì)建立文件賦權(quán)限是按照UNIX的方式進(jìn)行,因此會(huì)報(bào)錯(cuò):
java.lang.RuntimeException: Error while running command to get file permissions : java.io.IOException: Cannot run program "ls": CreateProcess error=2,
解決辦法是將任務(wù)發(fā)到運(yùn)程主機(jī),通常是LINUX上運(yùn)行,在hbase-site.xml中加入:
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
同時(shí)需把HDFS的權(quán)限機(jī)制關(guān)掉:
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
另外由于是在遠(yuǎn)程上執(zhí)行任務(wù),自定義的類文件,如Maper/Reducer等需打包成jar文件上傳,具體見(jiàn)方案:
Hadoop作業(yè)提交分析(五)http://www.cnblogs.com/spork/archive/2010/04/21/1717592.html
研究了好幾天,終于搞清楚,CONFIGUARATION就是JOB的配置信息,遠(yuǎn)程JOBTRACKER就是以此為參數(shù)構(gòu)建JOB去執(zhí)行,由于遠(yuǎn)程主機(jī)并沒(méi)有自定義的MAPREDUCE類,需打成JAR包后,上傳到主機(jī)處,但無(wú)需每次都手動(dòng)傳,可以代碼設(shè)置:
conf.set("tmpjars", "d:/aaa.jar");
另注意,如果在WINDOWS系統(tǒng)中,文件分隔號(hào)是“;”,生成的JAR包信息是以“;”間隔的,在遠(yuǎn)程主機(jī)的LINUX上是無(wú)法辨別,需改為:
System.setProperty("path.separator", ":");
參考文章:
http://www.cnblogs.com/xia520pi/archive/2012/05/20/2510723.html
使用hadoop eclipse plugin提交Job并添加多個(gè)第三方j(luò)ar(完美版)
http://heipark.iteye.com/blog/1171923

解決辦法是將任務(wù)發(fā)到運(yùn)程主機(jī),通常是LINUX上運(yùn)行,在hbase-site.xml中加入:




同時(shí)需把HDFS的權(quán)限機(jī)制關(guān)掉:




另外由于是在遠(yuǎn)程上執(zhí)行任務(wù),自定義的類文件,如Maper/Reducer等需打包成jar文件上傳,具體見(jiàn)方案:
Hadoop作業(yè)提交分析(五)http://www.cnblogs.com/spork/archive/2010/04/21/1717592.html
研究了好幾天,終于搞清楚,CONFIGUARATION就是JOB的配置信息,遠(yuǎn)程JOBTRACKER就是以此為參數(shù)構(gòu)建JOB去執(zhí)行,由于遠(yuǎn)程主機(jī)并沒(méi)有自定義的MAPREDUCE類,需打成JAR包后,上傳到主機(jī)處,但無(wú)需每次都手動(dòng)傳,可以代碼設(shè)置:

另注意,如果在WINDOWS系統(tǒng)中,文件分隔號(hào)是“;”,生成的JAR包信息是以“;”間隔的,在遠(yuǎn)程主機(jī)的LINUX上是無(wú)法辨別,需改為:

參考文章:
http://www.cnblogs.com/xia520pi/archive/2012/05/20/2510723.html
使用hadoop eclipse plugin提交Job并添加多個(gè)第三方j(luò)ar(完美版)
http://heipark.iteye.com/blog/1171923