awesome Hitesh. that's some clever inside information on how hive loads the classpath. Until i checked my email again i was still unable to manipulate it in the way to make hive happy. just now i was deep inside the hive bash script - but you called it with that HADOOP_USER_CLASSPATH_FIRST reference.
now i have some blue and red colors on my terminal window and no stacktrace! Yay! thanks again for helping out! Cheers, Stephen. On Mon, Feb 15, 2016 at 5:01 PM, Hitesh Shah <[email protected]> wrote: > One option may be to try using HADOOP_USER_CLASSPATH_FIRST with it set to > true and adding the hive-exec.jar to the front of HADOOP_CLASSPATH. Using > this ( and verifying by running “hadoop classpath”), you could try to get > hive-exec.jar to the front of the classpath and see if that makes a > difference to the class loading order. > > — Hitesh > > On Feb 15, 2016, at 4:43 PM, Stephen Sprague <[email protected]> wrote: > > > Hi Jan, > > ahhh. I see. my $HIVE_HOME/lib/hive-exec-1.2.1.jar does indeed have > TezJobMonitor in it. So this has really nothing to do with the server side > Tez jar files i built as part of the install instructions but rather the > hive client side code. > > > > got it. I'll dig away at that! > > > > Thank you! > > > > Cheers, > > Stephen. > > > > On Mon, Feb 15, 2016 at 2:18 PM, Jan Morlock <[email protected]> > wrote: > > Hi Stephen, > > > > the code inside org.apache.hadoop.hive.ql.exec.tez.TezJobMonitor intends > > to use org.fusesource.jansi.Ansi. The Project hive-exec (where > > TezJobMonitor is part of) therefore has a dependency on jline (where > > Ansi is a part of). However on your class path a jar file containing an > > older version of Ansi is found first. This version lacks the bold() > > method and therefore the NoSuchMethodError is thrown. > > > > What you have to do is identifying the jar file containing the older > > version of Ansi. Afterwards you have to organize the class path in a way > > that the more up-to-date version is found first. > > > > I hope this helps. > > Cheers > > Jan > > > > > > Am 15.02.2016 um 20:27 schrieb Stephen Sprague: > > > hey guys, > > > I'm looking to run Hive on Tez and have followed the instructions to a > > > tee - but i just can't seem to get around this Jansi error despite > > > everything i've tried. Now given i'm not exactly a Java programmer > what > > > may appear to you as something pretty trivial i'm at an impasse - but > > > not for lack of trying! > > > > > > would anyone here have any tips? > > > > > > thanks, > > > Stephen > > > > > > PS Here's my traceback and logging. > > > > > > $ hive > > > SLF4J: Class path contains multiple SLF4J bindings. > > > SLF4J: Found binding in > > > > [jar:file:/usr/lib/zookeeper/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] > > > SLF4J: Found binding in > > > > [jar:file:/home/spragues/downloads/apache-tez-0.7.0-src/tez-dist/target/tez-0.7.0-minimal/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] > > > SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an > > > explanation. > > > SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] > > > SLF4J: Class path contains multiple SLF4J bindings. > > > SLF4J: Found binding in > > > > [jar:file:/usr/lib/zookeeper/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] > > > SLF4J: Found binding in > > > > [jar:file:/home/spragues/downloads/apache-tez-0.7.0-src/tez-dist/target/tez-0.7.0-minimal/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] > > > SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an > > > explanation. > > > SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] > > > > > > Logging initialized using configuration in > > > > jar:file:/usr/lib/hive-1.2.1-standalone/lib/hive-common-1.2.1.jar!/hive-log4j.properties > > > *hive> set hive.execution.engine=tez;* > > > > > > *hive> select count(*) from omniture.hit_data where date_key=20160210;* > > > Query ID = spragues_20160215111912_f4b6bc39-d29d-42bb-b0bc-262f8c99f58c > > > Total jobs = 1 > > > Launching Job 1 out of 1 > > > > > > > > > Status: Running (Executing on YARN cluster with App id > > > application_1453472707474_6031) > > > > > > > -------------------------------------------------------------------------------- > > > java.lang.NoSuchMethodError: > > > org.fusesource.jansi.Ansi.bold()Lorg/fusesource/jansi/Ansi; > > > at > > > > org.apache.hadoop.hive.ql.exec.tez.TezJobMonitor.reprintLineWithColorAsBold(TezJobMonitor.java:205) > > > at > > > > org.apache.hadoop.hive.ql.exec.tez.TezJobMonitor.printStatusInPlace(TezJobMonitor.java:611) > > > at > > > > org.apache.hadoop.hive.ql.exec.tez.TezJobMonitor.monitorExecution(TezJobMonitor.java:320) > > > at > > > org.apache.hadoop.hive.ql.exec.tez.TezTask.execute(TezTask.java:168) > > > at > org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:160) > > > at > > > > org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:88) > > > at > org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1653) > > > at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1412) > > > at > org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1195) > > > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1059) > > > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1049) > > > at > > > > org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:213) > > > at > > > org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:165) > > > at > > > org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:376) > > > at > > > org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:736) > > > at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681) > > > at > org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621) > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > at > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > > > at > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > > at java.lang.reflect.Method.invoke(Method.java:606) > > > at org.apache.hadoop.util.RunJar.run(RunJar.java:221) > > > at org.apache.hadoop.util.RunJar.main(RunJar.java:136) > > > FAILED: Execution Error, return code -101 from > > > org.apache.hadoop.hive.ql.exec.tez.TezTask. > > > org.fusesource.jansi.Ansi.bold()Lorg/fusesource/jansi/Ansi; > > > >
