搭建Hive完成之后, 启动Hive失败, 显示如下错误:
[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)
…
错误原因在于Hadoop安装文件中jline包的版本与Hive安装文件中jline包的版本不一致. 查看各自版本如下图:
也就是说Hadoop安装文件中的jline版本过时了, 只需将Hive中的jline包复制一份过去即可.
修改如下:
cd /opt/software/hadoop/hadoop-2.6.5/share/hadoop/yarn/lib/
mv jline-0.9.94.jar jline-0.9.94.jar_bak
cp /opt/software/hive/apache-hive-1.2.1-bin/lib/jline-2.12.jar .