You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@accumulo.apache.org by "Roberts, Geoffry [USA]" <Ro...@bah.com> on 2019/09/03 14:10:48 UTC

Re: [External] Re: Accumulo 2.0 init error

Accumulo 2.0.0
Hadoop 3.2.0
Zookeeper 3.5.5 rolled back to 3.4.13
Ubuntu 19.04
Java 8

I managed to fix the ClassNotFoundException problem I was encountering with accumulo init.

It may be true that I was using a quickstart procedure that was written for v1.x.  it turns out that it does work for v2.x.  Problem was that I was trying to use Zk v3.5.5.  When I rolled beck to Zk v3.4.13. the CNFE problem went away.  Go figure.  I did, however, need to explicitly specify the rpc port in hdfs-site.xml.  Never had to do that in the past.  But based on accumulo init's complaints, I realized port 8020 was not open. 

So I did this in hdfs-site.xml:
  <property>
    <name>dfs.namenode.rpc-address</name>
    <value>localhost:8020</value>
  </property>

After bouncing Hadoop, Accumulo initialized and then was able to start.

On 8/30/19, 3:41 PM, "Christopher" <ct...@apache.org> wrote:

    On Fri, Aug 30, 2019 at 3:11 PM Roberts, Geoffry [USA]
    <Ro...@bah.com> wrote:
    >
    > I am following the quickstart instructions.  When I get to accumulo init I get a ClassNotFoundException on org.apache.zookeeper.KeeperException.  I have  ZOOKEEPER_HOME set in accumulo-env.sh and it is correct. Both Zookeeper and Hadoop are running and the namenode is freshly formatted.
    >
    
    Do you mean these quickstart instructions?
    https://urldefense.proofpoint.com/v2/url?u=https-3A__accumulo.apache.org_quickstart-2D1.x_&d=DwIFaQ&c=f4NRRID3zFYDyClb0wZXwA&r=hc5v62HpZrcalgHOsVfthsgLhE5LrDVBm9xDs5ozH5U&m=_Of7_qFM3VhWev2CDggprsDP8HYq1tPGLuuA3dJ07sk&s=B9_hkICvD4QkrkvMwx149mQr09gfvjjyGGzdSr_kdm4&e= 
    Those instructions are specific to Accumulo 1.x; nobody has published
    an updated set of instructions for 2.x yet
    
    >
    >
    > Here’s my classpath and it looks  to me like Zk is present: /usr/local/accumulo-2.0.0/conf:/usr/local/accumulo-2.0.0/lib/*:/usr/local/hadoop/etc/hadoop:/usr/local/zookeeper/*:/usr/local/hadoop/share/hadoop/client/*
    >
    
    Without knowing the contents of those directories, it's hard to say,
    but it looks reasonable to me. How and where are you setting this
    class path? From the error below, it looks like it's still not picking
    up ZooKeeper. It could be a file permissions issue... maybe the
    process running 'init' doesn't have permission to read or traverse
    /usr/local/zookeeper?
    
    >
    >
    > Is there anything else?
    >
    >
    >
    > The error:
    >
    >
    >
    > 2019-08-30 14:50:01,377 [start.Main] ERROR: Uncaught exception
    >
    > java.util.ServiceConfigurationError: org.apache.accumulo.start.spi.KeywordExecutable: Provider org.apache.accumulo.server.init.Initialize could not be instantiated
    >
    >      at java.util.ServiceLoader.fail(ServiceLoader.java:232)
    >
    >      at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
    >
    >      at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
    >
    >      at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    >
    >      at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    >
    >      at org.apache.accumulo.start.Main.checkDuplicates(Main.java:243)
    >
    >      at org.apache.accumulo.start.Main.getExecutables(Main.java:234)
    >
    >      at org.apache.accumulo.start.Main.main(Main.java:88)
    >
    > Caused by: java.lang.NoClassDefFoundError: org/apache/zookeeper/KeeperException
    >
    >      at java.lang.Class.getDeclaredConstructors0(Native Method)
    >
    >      at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
    >
    >      at java.lang.Class.getConstructor0(Class.java:3075)
    >
    >      at java.lang.Class.newInstance(Class.java:412)
    >
    >      at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    >
    >      ... 5 more
    >
    > Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.KeeperException
    >
    >      at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    >
    >      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    >
    >      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    >
    >      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    >
    >      ... 10 more
    >
    >
    >
    > Thanks
    


Re: [External] Re: Accumulo 2.0 init error

Posted by Christopher <ct...@apache.org>.
Glad you got it working. I don't know anybody who has tested ZK 3.5.x
with Accumulo. There's likely some class path changes needed for that,
if not more substantial changes in Accumulo's code (depending on ZK
API compatibility).

As for the port, I'm not sure what would have changed there, but it's
probably a good idea to always specify the port explicitly.


On Tue, Sep 3, 2019 at 10:11 AM Roberts, Geoffry [USA]
<Ro...@bah.com> wrote:
>
> Accumulo 2.0.0
> Hadoop 3.2.0
> Zookeeper 3.5.5 rolled back to 3.4.13
> Ubuntu 19.04
> Java 8
>
> I managed to fix the ClassNotFoundException problem I was encountering with accumulo init.
>
> It may be true that I was using a quickstart procedure that was written for v1.x.  it turns out that it does work for v2.x.  Problem was that I was trying to use Zk v3.5.5.  When I rolled beck to Zk v3.4.13. the CNFE problem went away.  Go figure.  I did, however, need to explicitly specify the rpc port in hdfs-site.xml.  Never had to do that in the past.  But based on accumulo init's complaints, I realized port 8020 was not open.
>
> So I did this in hdfs-site.xml:
>   <property>
>     <name>dfs.namenode.rpc-address</name>
>     <value>localhost:8020</value>
>   </property>
>
> After bouncing Hadoop, Accumulo initialized and then was able to start.
>
> On 8/30/19, 3:41 PM, "Christopher" <ct...@apache.org> wrote:
>
>     On Fri, Aug 30, 2019 at 3:11 PM Roberts, Geoffry [USA]
>     <Ro...@bah.com> wrote:
>     >
>     > I am following the quickstart instructions.  When I get to accumulo init I get a ClassNotFoundException on org.apache.zookeeper.KeeperException.  I have  ZOOKEEPER_HOME set in accumulo-env.sh and it is correct. Both Zookeeper and Hadoop are running and the namenode is freshly formatted.
>     >
>
>     Do you mean these quickstart instructions?
>     https://urldefense.proofpoint.com/v2/url?u=https-3A__accumulo.apache.org_quickstart-2D1.x_&d=DwIFaQ&c=f4NRRID3zFYDyClb0wZXwA&r=hc5v62HpZrcalgHOsVfthsgLhE5LrDVBm9xDs5ozH5U&m=_Of7_qFM3VhWev2CDggprsDP8HYq1tPGLuuA3dJ07sk&s=B9_hkICvD4QkrkvMwx149mQr09gfvjjyGGzdSr_kdm4&e=
>     Those instructions are specific to Accumulo 1.x; nobody has published
>     an updated set of instructions for 2.x yet
>
>     >
>     >
>     > Here’s my classpath and it looks  to me like Zk is present: /usr/local/accumulo-2.0.0/conf:/usr/local/accumulo-2.0.0/lib/*:/usr/local/hadoop/etc/hadoop:/usr/local/zookeeper/*:/usr/local/hadoop/share/hadoop/client/*
>     >
>
>     Without knowing the contents of those directories, it's hard to say,
>     but it looks reasonable to me. How and where are you setting this
>     class path? From the error below, it looks like it's still not picking
>     up ZooKeeper. It could be a file permissions issue... maybe the
>     process running 'init' doesn't have permission to read or traverse
>     /usr/local/zookeeper?
>
>     >
>     >
>     > Is there anything else?
>     >
>     >
>     >
>     > The error:
>     >
>     >
>     >
>     > 2019-08-30 14:50:01,377 [start.Main] ERROR: Uncaught exception
>     >
>     > java.util.ServiceConfigurationError: org.apache.accumulo.start.spi.KeywordExecutable: Provider org.apache.accumulo.server.init.Initialize could not be instantiated
>     >
>     >      at java.util.ServiceLoader.fail(ServiceLoader.java:232)
>     >
>     >      at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
>     >
>     >      at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
>     >
>     >      at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>     >
>     >      at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>     >
>     >      at org.apache.accumulo.start.Main.checkDuplicates(Main.java:243)
>     >
>     >      at org.apache.accumulo.start.Main.getExecutables(Main.java:234)
>     >
>     >      at org.apache.accumulo.start.Main.main(Main.java:88)
>     >
>     > Caused by: java.lang.NoClassDefFoundError: org/apache/zookeeper/KeeperException
>     >
>     >      at java.lang.Class.getDeclaredConstructors0(Native Method)
>     >
>     >      at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
>     >
>     >      at java.lang.Class.getConstructor0(Class.java:3075)
>     >
>     >      at java.lang.Class.newInstance(Class.java:412)
>     >
>     >      at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
>     >
>     >      ... 5 more
>     >
>     > Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.KeeperException
>     >
>     >      at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>     >
>     >      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>     >
>     >      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
>     >
>     >      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>     >
>     >      ... 10 more
>     >
>     >
>     >
>     > Thanks
>
>