I'm launching the job from a client. I have simply replaced the hadoop core
jar by the one from the HBase 0.90.0, I'm not using it directly.
The old jar has been replaced everywhere in the cluster, I have verified.
Concerning the classpath, here is the one returned by the rowcounter example
:

11/03/14 22:43:10 INFO zookeeper.ZooKeeper: Client
environment:java.class.path=/root/softwares/hadoop-0.20.2/bin/../conf:/usr/lib/jvm/java-6-sun//lib/tools.jar:/root/softwares/hadoop-0.20.2/bin/..:/root/softwares/hadoop-0.20.2/bin/../hadoop-0.20.2-core.jar:/root/softwares/hadoop-0.20.2/bin/../lib/commons-cli-1.2.jar:/root/softwares/hadoop-0.20.2/bin/../lib/commons-codec-1.3.jar:/root/softwares/hadoop-0.20.2/bin/../lib/commons-el-1.0.jar:/root/softwares/hadoop-0.20.2/bin/../lib/commons-httpclient-3.0.1.jar:/root/softwares/hadoop-0.20.2/bin/../lib/commons-logging-1.0.4.jar:/root/softwares/hadoop-0.20.2/bin/../lib/commons-logging-api-1.0.4.jar:/root/softwares/hadoop-0.20.2/bin/../lib/commons-net-1.4.1.jar:/root/softwares/hadoop-0.20.2/bin/../lib/core-3.1.1.jar:/root/softwares/hadoop-0.20.2/bin/../lib/hsqldb-1.8.0.10.jar:/root/softwares/hadoop-0.20.2/bin/../lib/jasper-compiler-5.5.12.jar:/root/softwares/hadoop-0.20.2/bin/../lib/jasper-runtime-5.5.12.jar:/root/softwares/hadoop-0.20.2/bin/../lib/jets3t-0.6.1.jar:/root/softwares/hadoop-0.20.2/bin/../lib/jetty-6.1.14.jar:/root/softwares/hadoop-0.20.2/bin/../lib/jetty-util-6.1.14.jar:/root/softwares/hadoop-0.20.2/bin/../lib/junit-3.8.1.jar:/root/softwares/hadoop-0.20.2/bin/../lib/kfs-0.2.2.jar:/root/softwares/hadoop-0.20.2/bin/../lib/log4j-1.2.15.jar:/root/softwares/hadoop-0.20.2/bin/../lib/mockito-all-1.8.0.jar:/root/softwares/hadoop-0.20.2/bin/../lib/oro-2.0.8.jar:/root/softwares/hadoop-0.20.2/bin/../lib/servlet-api-2.5-6.1.14.jar:/root/softwares/hadoop-0.20.2/bin/../lib/slf4j-api-1.4.3.jar:/root/softwares/hadoop-0.20.2/bin/../lib/slf4j-log4j12-1.4.3.jar:/root/softwares/hadoop-0.20.2/bin/../lib/xmlenc-0.52.jar:/root/softwares/hadoop-0.20.2/bin/../lib/jsp-2.1/jsp-2.1.jar:/root/softwares/hadoop-0.20.2/bin/../lib/jsp-2.1/jsp-api-2.1.jar:/root/softwares/hbase-0.90.0/hbase-0.90.0.jar:/root/softwares/hbase-0.90.0/conf:/root/softwares/hbase-0.90.0/lib/zookeeper-3.3.2.jar:/root/softwares/hbase-0.90.0/hbase-0.90.0-tests.jar

note that /root/softwares/hadoop-0.20.2 is the directory that contains the
replaced hadoop core.

The rowcounter example returns the same error. What's driving me crazy is
that the same hadoop installation (I've moved the whole directory through
ssh) is working on another cluster but not on this one!  The configurations
are almost the same on the two clusters.

I have also tried to print the HADOOP_CLASSPATH variable but it only returns
the HBase jars...


2011/3/14 Stack <[email protected]>

> How are you launching the job?  Code looks 'right' (except for the new
> HBaseConfiguration instead of doing HBaseConfiguration.create()).  How
> are you using hadoop-core*append*.jar?  You putting it everywhere in
> your cluster making sure the old hadoop jar is not in the cluster
> CLASSPATH?
>
> If you run our rowcounter, does that work?
>
> $ ./bin/hadoop jar hbase*.jar rowcounter
>
> St.Ack
>
>
> On Mon, Mar 14, 2011 at 3:05 AM, Thibault Dory <[email protected]>
> wrote:
> > Hello,
> >
> > I'm trying to run a MapReduce job on a Hadoop cluster 0.20.2 using
> > the hadoop-core-0.20-append-r1056497.jar from HBase 0.90.0 but when I
> start
> > the job I run into this error :
> >
> > 2011-03-13 14:48:22,935 INFO org.apache.hadoop.mapred.TaskInProgress:
> Error
> > from attempt_201103131344_0016_m_000081_3: java.lang.ClassCastException:
> > org.apache.hadoop.hbase.mapreduce.TableSplit cannot be cast to
> > org.apache.hadoop.mapred.InputSplit
> >        at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:323)
> >        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
> >        at org.apache.hadoop.mapred.Child.main(Child.java:170)
> >
> > It looks like hadoop is using the old mapred API instead of the new
> > mapreduce one. The HBase jar files are provided in the Hadoop path.
> >
> > The code of the MapReduce job can be seen here :
> >
> https://github.com/toflames/Wikipedia-noSQL-Benchmark/blob/master/src/hbase_mapreduce/MapReduceHbaseDB.java
> >
> > HBase is working well for read/write/update operations.
> >
> > Any idea of what could be causing this?
> >
>

Reply via email to