[ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChang

Posted --->别先生<---

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChang相关的知识,希望对你有一定的参考价值。

1:出现此种错误应该是jar版本包冲突了,启动hive的时候,由于hive依赖hadoop,启动hive,会将hadoop的配置以及jar包等等导入到hive中,导致jar包版本冲突,下面贴一下错误,然后贴一下解决方法:

 1 [[email protected] bin]# ./hive
 2 
 3 Logging initialized using configuration in jar:file:/home/hadoop/soft/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties
 4 [ERROR] Terminal initialization failed; falling back to unsupported
 5 java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
 6     at jline.TerminalFactory.create(TerminalFactory.java:101)
 7     at jline.TerminalFactory.get(TerminalFactory.java:158)
 8     at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
 9     at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
10     at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
11     at org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
12     at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
13     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
14     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
15     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
16     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
17     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
18     at java.lang.reflect.Method.invoke(Method.java:606)
19     at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
20     at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
21 
22 Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
23     at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
24     at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
25     at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
26     at org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
27     at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
28     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
29     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
30     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
31     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
32     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
33     at java.lang.reflect.Method.invoke(Method.java:606)
34     at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
35     at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
36 [[email protected] bin]# 

2:hive里面的 这个jar包是jline-2.12.jar,而hadooop的这个jar包是

<!--hive这个jar包的版本-->
[[email protected] lib]# ll jline-2.12.jar
-rw-rw-r--. 1 root root 213854 Apr 29  2015 jline-2.12.jar

<!--hadooop的这个jar包版本-->
[[email protected] lib]# ll /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar
-rw-rw-r--. 1 hadoop hadoop 87325 Mar  7  2016 /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar
[[email protected] lib]#

3:解决方法,将hive的新版,替换hadoop的老版本的这个jar包即可:

 1 [[email protected] lib]# ll jline-2.12.jar 
 2 -rw-rw-r--. 1 root root 213854 Apr 29  2015 jline-2.12.jar
 3 [[email protected] lib]# ll /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 
 4 -rw-rw-r--. 1 hadoop hadoop 87325 Mar  7  2016 /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar
 5 [[email protected] lib]# rm /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 
 6 rm: remove regular file `/home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar? y
 7 [[email protected] lib]# ll /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 
 8 ls: cannot access /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar: No such file or directory
 9 [[email protected] lib]# cp jline-2.12.jar /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/
10 [[email protected] lib]# ll /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 
11 ls: cannot access /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar: No such file or directory
12 [[email protected] lib]# ll /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-2.12.jar 
13 -rw-r--r--. 1 root root 213854 Dec  9 19:10 /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/jline-2.12.jar
14 [[email protected] lib]# 

停更......

2017-12-10 11:11:16

以上是关于[ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChang的主要内容,如果未能解决你的问题,请参考以下文章

启动hive报错[ERROR] Terminal initialization failed; falling back to unsupported

[ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChang

scala终端启动报错:[ERROR] Failed to construct terminal; falling back to unsupported

Mac OS安装octave出现的问题-'error:terminal type set to 'unknown'的解决'

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

Jupyther Kernel Error 解决办法