zoukankan      html  css  js  c++  java
  • [ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected

    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包即可:

    完成以上操作,重新启动hive即可,完成hive的安装启动。开始学习hive.

     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

  • 相关阅读:
    慕课网-安卓工程师初养成-3-2 Java中的算术运算符
    慕课网-安卓工程师初养成-3-1 什么是运算符
    慕课网-安卓工程师初养成-2-13 练习题
    慕课网-安卓工程师初养成-2-12 如何在Java中使用注释
    慕课网-安卓工程师初养成-2-11 Java常量
    慕课网-安卓工程师初养成-2-10 Java中的强制类型转换
    试把一个正整数n拆分为若干个
    求解两个给定正整数m、n的最大公约数(m、n)
    统计n!尾部零
    横竖折对称方阵
  • 原文地址:https://www.cnblogs.com/biehongli/p/8016435.html
Copyright © 2011-2022 走看看