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;

Reply via email to