Another possible path to solve this is with a different classpath and dependency for hadoop 3. In Accumulo 2.0 we depend on the hadoop client shaded jar, which has its own shaded and relocated version of Guava internally. Using the Hadoop shaded jar would solve this problem. Not sure what that change would look like though. Also, it leaves Accumulo using an older version of Guava which Hadoop upgraded away from for security reasons.
On Wed, Nov 20, 2019 at 10:51 PM Arvind Shyamsundar <[email protected]> wrote: > > Hello! > Per this issue(https://github.com/apache/accumulo/issues/569) building 1.9.x > with Hadoop 3 support needs hadoop.profile=3. So I checked out current 1.9 > branch and built with -Dhadoop.profile=3. When I deployed this "custom" > Accumulo build with Hadoop 3.1.3, accumulo init failed: > > Caused by: java.lang.NoSuchMethodError: > com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V > at org.apache.hadoop.conf.Configuration.set(Configuration.java:1357) > at org.apache.hadoop.conf.Configuration.set(Configuration.java:1338) > at > org.apache.hadoop.conf.Configuration.setInt(Configuration.java:1515) > at > org.apache.hadoop.hdfs.server.namenode.ha.AbstractNNFailoverProxyProvider.<init>(AbstractNNFailoverProxyProvider.java:70) > at > org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider.<init>(ConfiguredFailoverProxyProvider.java:44) > > This is related to Guava. The version of Guava that is used by Hadoop 3.1.3 > is 27.0-jre while Accumulo 1.9 still depends (and includes) Guava 14.0. So I > set about to build 1.9 with Guava 27.0-jre. I had to set the compiler version > to 1.8. As Christopher had mentioned to in a the 1.10 thread, I also ran into > problems with modernizer. Without disabling modernizer, the refactor involved > looks non-trivial. I also had issues with outdated interfaces in > DataoutputHasher.java, CloseWriteAheadLogReferences.java, > RemoveCompleteReplicationRecords.java but those were relatively easy fixes. > FWIW, I pushed my changes here: > https://github.com/apache/accumulo/compare/master...arvindshmicrosoft:temp-1.9-guava27. > > So my question is: are these known issues with the current 1.9 branch and > Hadoop? Do we want to support Hadoop 3.1 / 3.2 with Accumulo 1.10? > > Thank you. > > - Arvind.
