hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Yu <yuzhih...@gmail.com>
Subject Re: RowCounter ClassNotFoundException: com.google.common.base.Preconditions
Date Wed, 25 Dec 2013 16:18:08 GMT
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 <larsh@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 <jean-marc@spaggiari.org>
> > To: user <user@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 <jean-marc@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 <yuzhihong@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
> > >> >
> > >>
> > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message