I’m running Tez 0.6.0 with the default dependency of Hadoop 2.6 and am
receiving a fair number of these
Exception in thread "org.apache.hadoop.util.JvmPauseMonitor$Monitor@74173125"
java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.elapsedMillis()J
at
org.apache.hadoop.util.JvmPauseMonitor$Monitor.run(JvmPauseMonitor.java:184)
at java.lang.Thread.run(Thread.java:722)
of which result in a complete failure to run Tez
This is due to Tez/Yarn building against Guava 11.0.2,
org.apache.tez:tez-api:0.6.0
| +--- log4j:log4j:1.2.17
| +--- com.google.guava:guava:11.0.2 -> 16.0.1
but Curator requiring 16.0.1 and forcing the up version
org.apache.curator:curator-framework:2.6.0
| | | | | +--- org.apache.curator:curator-client:2.6.0
| | | | | | +--- org.slf4j:slf4j-api:1.7.6
| | | | | | +--- org.apache.zookeeper:zookeeper:3.4.6 (*)
| | | | | | \--- com.google.guava:guava:16.0.1
this makes me wonder how Tez 0.6.0 passes any tests (a side effect of maven?),
let alone actually run on a cluster as curator is used by auth which is used by
common
or is it a happy coincidence that auth doesn’t use any guava api’s not
available in 11.0.2? thus it’s safe to force a downgrade (or put 11.0.2 first
in the classpath).
ckw
—
Chris K Wensel
[email protected]