accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Tubbs (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-4611) Commons Configuration either needs bumped or needs to be provided for Hadoop 3
Date Thu, 03 Aug 2017 23:36:00 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-4611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16113701#comment-16113701
] 

Christopher Tubbs commented on ACCUMULO-4611:
---------------------------------------------

I tried my hand at bumping our use to 2.1.1. A few pitfalls: ClientConfiguration and ZooKeeperInstance
are both public API with commons-configuration 1.6 objects in their public API methods. That
will need to be deprecated, because the package names have changed. The good thing is that
because the package names have changed, it's okay to have both on the class path.

> Commons Configuration either needs bumped or needs to be provided for Hadoop 3
> ------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-4611
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4611
>             Project: Accumulo
>          Issue Type: Bug
>    Affects Versions: 1.7.2, 1.8.1
>         Environment: CentOS 7
> Accumulo 1.7.x, 1.8.x
> Hadoop 3.0.0-alpha 2
> Zookeeper 3.4.9
>            Reporter: Michael Hogue
>             Fix For: 2.0.0
>
>
> I was investigating running either Accumulo 1.7.x or 1.8.x on Hadoop 3.0.0-alpha 2 and
ran into a couple of issues. Since Accumulo assumes some dependencies will be provided by
Hadoop (per ACCUMULO-1244), if those dependencies change then Accumulo might also need to
change.  
> HADOOP-13660 bumped {{commons-configuration}} from 1.6 -> 2.1 for Hadoop 3.0.0 and
so NoClassDefFoundErrors are thrown per the below stack trace on {{accumulo init}}:
> {noformat}
> [mike@localhost cloud]$ accumulo init
> 2017-03-22 15:38:34,106 [start.Main] ERROR: Uncaught exception
> java.util.ServiceConfigurationError: org.apache.accumulo.start.spi.KeywordExecutable:
Provider org.apache.accumulo.proxy.Proxy 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:223)
>     at org.apache.accumulo.start.Main.getExecutables(Main.java:215)
>     at org.apache.accumulo.start.Main.main(Main.java:78)
> Caused by: java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration
>     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.commons.configuration.Configuration
>     at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>     at org.apache.accumulo.start.classloader.AccumuloClassLoader$2.loadClass(AccumuloClassLoader.java:284)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>     ... 10 more
> {noformat}
> I worked around this by dropping the {{commons-configuration}} 1.6 jar on Accumulo's
classpath, but this should either be provided by Accumulo now or Accumulo should be bumped
to {{commons-configuration2}} as well. Note that the latter change would cause problems for
Hadoop 2 installations.
> There was actually one more thing that needed added to the accumulo-site.xml in order
to get Accumulo to run in Hadoop 3:
> {noformat}
> $HADOOP_PREFIX/share/hadoop/client/[^.].*.jar
> {noformat}
> The reason for this is because {{Hdfs.java}} moved from the hadoop-hdfs jar to the hadoop-client-api
jar.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message