hive_異常_01_ Terminal initialization failed; falling back to unsupported


一、異常現象

hive初始化數據庫時,在執行了

schematool  -initSchema -dbType mysql 

這個命令時,終端拋出如下異常:

[ray@rayner bin]$ schematool  -initSchema -dbType mysql 
Metastore connection URL:        jdbc:derby:;databaseName=metastore_db;create=true
Metastore Connection Driver :    org.apache.derby.jdbc.EmbeddedDriver
Metastore connection User:       APP
Starting metastore schema initialization to 1.1.0
Initialization script hive-schema-1.1.0.mysql.sql
[ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
        at jline.TerminalFactory.create(TerminalFactory.java:101)
        at jline.TerminalFactory.get(TerminalFactory.java:158)
        at org.apache.hive.beeline.BeeLineOpts.<init>(BeeLineOpts.java:73)
        at org.apache.hive.beeline.BeeLine.<init>(BeeLine.java:117)
        at org.apache.hive.beeline.HiveSchemaTool.runBeeLine(HiveSchemaTool.java:346)
        at org.apache.hive.beeline.HiveSchemaTool.runBeeLine(HiveSchemaTool.java:326)
        at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:266)
        at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:243)
        at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:470)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
        at org.apache.hive.beeline.BeeLineOpts.<init>(BeeLineOpts.java:101)
        at org.apache.hive.beeline.BeeLine.<init>(BeeLine.java:117)
        at org.apache.hive.beeline.HiveSchemaTool.runBeeLine(HiveSchemaTool.java:346)
        at org.apache.hive.beeline.HiveSchemaTool.runBeeLine(HiveSchemaTool.java:326)
        at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:266)
        at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:243)
        at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:470)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

 

二、異常原因

 jar版本包沖突

Hadoop lib 下已經存在了 jline 0.9x ,但是在hive中將Jline升級到了Jline2。

啟動hive的時候,由於hive依賴hadoop,啟動hive,會將hadoop的配置以及jar包等等導入到hive中,導致jar包版本沖突。

 

三、異常解決

 

 

如上圖:將hive的新版jline,替換hadoop的老版本即可。

 

注:hadoop中的jline所在目錄為:

/developer/hadoop-2.6.0/share/hadoop/yarn/lib

 

 

四、參考資料

1.Hive startup -[ERROR] Terminal initialization failed; falling back to unsupported

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

4.Hive on Spark: Getting Started--常見異常 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM