I'd bet this is the same issue that got you the strange 
AbstractMethodErrorexception you've seen before.

Checking the code, we do not explicitly set 
com.google.common.base.Preconditions as dependency, and we probably should, but 
we  com.google.common.base.Function, which is in the same jar.

-- Lars



________________________________
 From: Jean-Marc Spaggiari <[email protected]>
To: user <[email protected]> 
Sent: Monday, December 23, 2013 6:06 PM
Subject: Re: RowCounter ClassNotFoundException: 
com.google.common.base.Preconditions
 

Did some investigations. Strange.

ClassLoader parent = Classes.class.getClassLoader();

Returns null....

Can this be related to the JDK I use? (1.7.0_45)



2013/12/23 Jean-Marc Spaggiari <[email protected]>

> I'm running HBase 0.94.15.
>
> time /home/hadoop/hadoop-1.2.1/bin/hadoop jar
> /home/hbase/hbase-0.94.3/hbase-0.94.15.jar rowcounter
> -Dmapred.map.tasks.speculative.execution=false
> -Dhbase.client.scanner.caching=100 page_proposed
>
> I also tried to copy the guava jar  into hadoop lib directory with no
> success.
>
> I also tried with:
> export HADOOP_CLASSPATH=`/home/hbase/hbase-0.94.3/bin/hbase
> classpath`:`/home/hadoop/hadoop-1.2.1/bin/hadoop classpath`:.
>
> Same result.
>
> My folder is called 0.94.3 because I never changed its name into my
> scripts, but it's 0.94.15 inside of it...
>
> JM
>
>
> 2013/12/23 Ted Yu <[email protected]>
>
>> Which version of HBase do you use ?
>>
>> Can you show us the command line for RowCounter ?
>>
>> Thanks
>>
>>
>> On Mon, Dec 23, 2013 at 8:11 AM, Jean-Marc Spaggiari <
>> [email protected]> wrote:
>>
>> > Any idea why I'm getting this?
>> >
>> > Error: java.lang.ClassNotFoundException:
>> > com.google.common.base.Preconditions
>> >     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>> >     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>> >     at java.security.AccessController.doPrivileged(Native Method)
>> >     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>> >     at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
>> >     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>> >     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>> >     at
>> >
>> >
>> org.apache.hadoop.hbase.util.ClassLoaderBase.<init>(ClassLoaderBase.java:58)
>> >     at
>> >
>> >
>> org.apache.hadoop.hbase.util.DynamicClassLoader.<init>(DynamicClassLoader.java:87)
>> >     at org.apache.hadoop.hbase.util.Classes.<clinit>(Classes.java:41)
>> >     at org.apache.hadoop.hbase.client.Scan.readFields(Scan.java:624)
>> >     at
>> >
>> >
>> org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.convertStringToScan(TableMapReduceUtil.java:379)
>> >     at
>> >
>> >
>> org.apache.hadoop.hbase.mapreduce.TableInputFormat.setConf(TableInputFormat.java:107)
>> >     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.runNewMapper(MapTask.java:722)
>> >     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:364)
>> >     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:415)
>> >     at
>> >
>> >
>> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
>> >     at org.apache.hadoop.mapred.Child.main(Child.java:249)
>> >
>> >
>> > Initially I tought it was because of the guava lib. So I ugraded it to
>> 14,
>> > same result. I tought then it was because I was using a very old 1.0.3
>> > hadoop version so I upgraded it to 1.2.1 (went very well, pretty
>> simple).
>> > Still same issue. (Yes I copied hadoop jar to hbase lib).
>> >
>> > This missing class is into guava 11.0.2 jar. My own MR jobs are running
>> > well, HBase is running well, et. Just RowCounter is not working.
>> >
>> > Any idea?
>> >
>> > Thanks,
>> >
>> > JM
>> >
>>
>
>

Reply via email to