由于项目需要,将hadoop2.6.4重新编译支持了snappy压缩。重新部署成功以后跑了个wordcount没有任何问题。
满心欢喜启动hive,结果报错!!!
错误信息如下:
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
经查证,hadoop2.6.4里的jline包是0.94版本的,而我的hive版本是1.2.1,这个版本已经升级成了jline2了
解决办法如下:
进入到hadoop安装目录的share/hadoop/yarn/lib下删除jline的jar文件
在etc/profile文件下加入
export HADOOP_USER_CLASSPATH_FIRST=true
注意:各个节点都需要改,并且重新source /etc/profile
然后重启hadoop集群即可。