在eclipse里面写了一个简单的tpch查询语句,但是一直连接不上hiveserver2,一直显示httpClient或者Cookie之类的找不到类的错误,但是所有相关的jar都已经打进去了。
折腾了很久之后,把eclipse里面的jdk从1.8换成了1.7,同时把编译器的版本从1.8降到1.7,再次执行就可以完美连接了。
这在本地行得通,但我需要把本地的程序打成jar包放到远程节点上去跑,远程节点只有命令行没有eclipse,节点上编译的所有的东西都是基于jdk1.8的。这该咋整呢?
查了查,发现linux下面可以暂时更改某一个shell里面的环境变量,在关闭shell后环境变量就会恢复原样。
So,把打好的jar包放到节点上之后,打开一个新的shell,输入:
- export JAVA_HOME=下载的1.7版本的jdk的路径
- export PATH=下载的1.7版本的jdk的路径/bin
然后再用java指令在这个shell里面运行打好的jar包,perfect!