标签:regular exception expect method 方法 remove 解决 解决方法 imp
1:出现此种错误应该是jar版本包冲突了,启动hive的时候,由于hive依赖hadoop,启动hive,会将hadoop的配置以及jar包等等导入到hive中,导致jar包版本冲突,下面贴一下错误,然后贴一下解决方法:
1 [root@master 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 [root@master bin]#
2:hive里面的 这个jar包是jline-2.12.jar,而hadooop的这个jar包是
<!--hive这个jar包的版本--> [root@master lib]# ll jline-2.12.jar -rw-rw-r--. 1 root root 213854 Apr 29 2015 jline-2.12.jar <!--hadooop的这个jar包版本--> [root@master 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 [root@master lib]#
3:解决方法,将hive的新版,替换hadoop的老版本的这个jar包即可:
1 [root@master lib]# ll jline-2.12.jar 2 -rw-rw-r--. 1 root root 213854 Apr 29 2015 jline-2.12.jar 3 [root@master 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 [root@master 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 [root@master 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 [root@master lib]# cp jline-2.12.jar /home/hadoop/soft/hadoop-2.6.4/share/hadoop/yarn/lib/ 10 [root@master 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 [root@master 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 [root@master lib]#
停更......
2017-12-10 11:11:16
标签:regular exception expect method 方法 remove 解决 解决方法 imp
原文地址:http://www.cnblogs.com/biehongli/p/8016435.html