2012-11-26 46 views
1

我有一個MapReduce作業,它將HBase表作爲我縮減作業的輸出目標 。我減速器類實現 包org.apache.hadoop.hbase.mapredTableMap接口,和我用initTableReduceJob() 功能TableMapReduceUtil類從 包org.apache.hadoop.hbase.mapred來配置我的工作。HBase中的舊式mapred API不起作用

但是當我跑我的工作,我在減少階段得到了以下錯誤

java.lang.NullPointerException 
at org.apache.hadoop.mapred.Task.getFsStatistics(Task.java:1099) 
at 
org.apache.hadoop.mapred.ReduceTask$OldTrackingRecordWriter.<init>(ReduceTask.java:442) 
at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:490) 
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:420) 
at org.apache.hadoop.mapred.Child$4.run(Child.java:255) 
at java.security.AccessController.doPrivileged(Native Method) 
at javax.security.auth.Subject.doAs(Subject.java:396) 
at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093) 
at org.apache.hadoop.mapred.Child.main(Child.java:249) 

我HBase的版本是0.94.0和我的Hadoop版本是1.0.1。

我發現類似我的問題後: https://forums.aws.amazon.com/thread.jspa?messageID=394846

誰能給我說說爲什麼會這樣一些暗示?我應該堅持 與org.apache.hadoop.hbase.mapreduce包?

+0

是否解決了上述問題?如果是的話,你可以讓我知道有什麼問題。 – Kalai

回答

0

此錯誤表明您可能在沒有HDFS的本地文件系統上運行HBase。嘗試安裝或運行Hadoop HDFS。 org.apache.hadoop.mapred API似乎需要HDFS。

作爲一種可能的方便,您可以嘗試使用Cloudera development VM,它們都包裝。