標籤:regular exception expect method 方法 remove 解決 解決方案 imp
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 expected23 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 directory12 [[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.jar14 [[email protected] lib]#
停更......
2017-12-10 11:11:16
[ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected