故障排除和調(diào)試HBase:MapReduce

2018-10-17 13:57 更新

MapReduce

你認(rèn)為你在群集中,但你實(shí)際上是本地的

以下堆棧跟蹤發(fā)生在使用ImportTsv的時(shí)候,但是這樣的事情可能發(fā)生在配置錯(cuò)誤的任何作業(yè)上。

    WARN mapred.LocalJobRunner: job_local_0001
java.lang.IllegalArgumentException: Can't read partitions file
       at org.apache.hadoop.hbase.mapreduce.hadoopbackport.TotalOrderPartitioner.setConf(TotalOrderPartitioner.java:111)
       at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)
       at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
       at org.apache.hadoop.mapred.MapTask$NewOutputCollector.<init>(MapTask.java:560)
       at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:639)
       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:323)
       at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:210)
Caused by: java.io.FileNotFoundException: File _partition.lst does not exist.
       at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:383)
       at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:251)
       at org.apache.hadoop.fs.FileSystem.getLength(FileSystem.java:776)
       at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1424)
       at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1419)
       at org.apache.hadoop.hbase.mapreduce.hadoopbackport.TotalOrderPartitioner.readPartitions(TotalOrderPartitioner.java:296)

...看到堆棧的關(guān)鍵部分了嗎?如下:

at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:210)

LocalJobRunner表示作業(yè)在本地運(yùn)行,而不是在群集上運(yùn)行。

要解決此問題,您應(yīng)該使用您的HADOOP_CLASSPATH集合運(yùn)行MR作業(yè)以包含HBase依賴項(xiàng)?!癶base classpath”實(shí)用程序可用于輕松完成此操作。例如(用您的HBase版本替換VERSION):

HADOOP_CLASSPATH=`hbase classpath` hadoop jar $HBASE_HOME/hbase-mapreduce-VERSION.jar rowcounter usertable

有關(guān)HBase MapReduce作業(yè)和類路徑的更多信息,請(qǐng)參閱HBase,MapReduce和CLASSPATH。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)