You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Jean-Marc Spaggiari <je...@spaggiari.org> on 2013/12/23 17:11:09 UTC

RowCounter ClassNotFoundException: com.google.common.base.Preconditions

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

Re: RowCounter ClassNotFoundException: com.google.common.base.Preconditions

Posted by Jean-Marc Spaggiari <je...@spaggiari.org>.
Hey, Seems that it's the right issue. I reverted back to previous Guava
version and this seems to be fixed.

But I found something else too

I had an old "target" directory from a previous HBase version in my HBase
directory and that caused some issues with the last shell.

It seems to have fixed my rowcounter too!!! Will see if it fixes also my
AbstractMethodErrorexception issue.

Thanks!

JM


2013/12/25 Ted Yu <yu...@gmail.com>

> This is related:
> HBASE-10174 Back port HBASE-9667 'NullOutputStream removed from Guava 15'
> to 0.94
>
> Cheers
>
>
> On Wed, Dec 25, 2013 at 7:55 AM, Jean-Marc Spaggiari <
> jean-marc@spaggiari.org> wrote:
>
> > I also got those one in the logs when manually moving a region:
> > Caused by: java.lang.ClassNotFoundException:
> > com.google.common.io.NullOutputStream
> >     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:425)
> >     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
> >     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> >     ... 18 more
> >
> >
> > I have extracted 0.94.15 from the JARs. I'm not getting where all of this
> > is coming from... I will look at that today...
> >
> >
> > 2013/12/23 lars hofhansl <la...@apache.org>
> >
> > > 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 <je...@spaggiari.org>
> > > To: user <us...@hbase.apache.org>
> > > 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 <je...@spaggiari.org>
> > >
> > > > 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 <yu...@gmail.com>
> > > >
> > > >> 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 <
> > > >> jean-marc@spaggiari.org> 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
> > > >> >
> > > >>
> > > >
> > > >
> > >
> >
>

Re: RowCounter ClassNotFoundException: com.google.common.base.Preconditions

Posted by Ted Yu <yu...@gmail.com>.
This is related:
HBASE-10174 Back port HBASE-9667 'NullOutputStream removed from Guava 15'
to 0.94

Cheers


On Wed, Dec 25, 2013 at 7:55 AM, Jean-Marc Spaggiari <
jean-marc@spaggiari.org> wrote:

> I also got those one in the logs when manually moving a region:
> Caused by: java.lang.ClassNotFoundException:
> com.google.common.io.NullOutputStream
>     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:425)
>     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>     ... 18 more
>
>
> I have extracted 0.94.15 from the JARs. I'm not getting where all of this
> is coming from... I will look at that today...
>
>
> 2013/12/23 lars hofhansl <la...@apache.org>
>
> > 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 <je...@spaggiari.org>
> > To: user <us...@hbase.apache.org>
> > 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 <je...@spaggiari.org>
> >
> > > 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 <yu...@gmail.com>
> > >
> > >> 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 <
> > >> jean-marc@spaggiari.org> 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
> > >> >
> > >>
> > >
> > >
> >
>

Re: RowCounter ClassNotFoundException: com.google.common.base.Preconditions

Posted by Jean-Marc Spaggiari <je...@spaggiari.org>.
I also got those one in the logs when manually moving a region:
Caused by: java.lang.ClassNotFoundException:
com.google.common.io.NullOutputStream
    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:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 18 more


I have extracted 0.94.15 from the JARs. I'm not getting where all of this
is coming from... I will look at that today...


2013/12/23 lars hofhansl <la...@apache.org>

> 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 <je...@spaggiari.org>
> To: user <us...@hbase.apache.org>
> 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 <je...@spaggiari.org>
>
> > 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 <yu...@gmail.com>
> >
> >> 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 <
> >> jean-marc@spaggiari.org> 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
> >> >
> >>
> >
> >
>

Re: RowCounter ClassNotFoundException: com.google.common.base.Preconditions

Posted by lars hofhansl <la...@apache.org>.
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 <je...@spaggiari.org>
To: user <us...@hbase.apache.org> 
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 <je...@spaggiari.org>

> 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 <yu...@gmail.com>
>
>> 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 <
>> jean-marc@spaggiari.org> 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
>> >
>>
>
>

Re: RowCounter ClassNotFoundException: com.google.common.base.Preconditions

Posted by Jean-Marc Spaggiari <je...@spaggiari.org>.
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 <je...@spaggiari.org>

> 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 <yu...@gmail.com>
>
>> 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 <
>> jean-marc@spaggiari.org> 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
>> >
>>
>
>

Re: RowCounter ClassNotFoundException: com.google.common.base.Preconditions

Posted by Jean-Marc Spaggiari <je...@spaggiari.org>.
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 <yu...@gmail.com>

> 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 <
> jean-marc@spaggiari.org> 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
> >
>

Re: RowCounter ClassNotFoundException: com.google.common.base.Preconditions

Posted by Ted Yu <yu...@gmail.com>.
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 <
jean-marc@spaggiari.org> 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
>