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.