[ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.