首页 > 代码库 > Hive启动报错: Found class jline.Terminal, but interface was expected

Hive启动报错: Found class jline.Terminal, but interface was expected

报错:

 1 [ERROR] Terminal initialization failed; falling back to unsupported
 2     java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
 3         at jline.TerminalFactory.create(TerminalFactory.java:101)
 4         at jline.TerminalFactory.get(TerminalFactory.java:158)
 5         at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
 6         at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
 7         at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
 8         at org.apache.Hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:773)
 9         at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:715)
10         at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
11         at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
12         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
13         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
14         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
15         at java.lang.reflect.Method.invoke(Method.java:606)
16         at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

原因:

hadoop目录下存在老版本jline:

/hadoop-2.6.0/share/hadoop/yarn/lib:

-rw-r--r-- 1 root root  87325 Mar 10 18:10 jline-0.9.94.jar

解决:

cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar /hadoop-2.5.2/share/hadoop/yarn/lib

Hive启动报错: Found class jline.Terminal, but interface was expected