最近要查看Hive的表结构,服务器权限又不想开放出去,虽然已经有Hue在使用,但是觉得只是查看hive表结构,没有必要放出Hue账户,索性直接把Hive自己的HWI配置起来,权限小,还简单。
环境:CDH 5.5.1
1 修改hive-site.xml,增加如下:
hive.hwi.listen.host 172.16.57.73 hive.hwi.listen.port 9999 hive.hwi.war.file lib/hive-hwi-1.1.1-cdh5.5.1.war
2 lib/hive-hwi-1.1.1-cdh5.5.1.war文件
lib/hive-hwi-1.1.1-cdh5.5.1.war,lib目录是指/usr/lib/hive/lib,hive-hwi-1.1.1-cdh5.5.1.war文件并不在里面,里面默认是hive-hwi-1.1.0-cdh5.5.1.jar,在新版Hive中已经使用jar包了,并不是官网上的war包,所以理论上在hive.hwi.war.file参数里指定lib下的jar包也可以。但是我实验下来并不行,所以我是自己打包war包。
3 创建hive-hwi-1.1.1-cdh5.5.1.war
HWI的web界面在hive源码的hwi目录下的web目录,所以只要打包这个web目录即可
#下载wget 'http://apache.fayea.com/hive/hive-1.1.1/apache-hive-1.1.1-src.tar.gz'tar zxvf apache-hive-1.1.1-src.tar.gz#打包cd apache-hive-1.1.1-src/hwijar cvfM0 hive-hwi-1.1.1-cdh5.5.1.war -C web/ .#部署mv hive-hwi-1.1.1-cdh5.5.1.war /usr/lib/hive/lib/
4 部署ant
HWI依赖ant,所以需要安装ant
cd /opt/programswget 'http://mirrors.tuna.tsinghua.edu.cn/apache//ant/binaries/apache-ant-1.9.7-bin.tar.gz'tar zxvf apache-ant-1.9.7-bin.tar.gzexport ANT_LIB=/opt/programs/apache-ant-1.9.7
5 hwi.sh
hwi.sh是HWI启动时用到的脚本,在脚本中可以定制HWI_JAR_FILE、HWI_WAR_FILE、ANT_LIB,如果使用jar包,而不是war包,在启动hwi的时候,会提示找不到hive-hwi-xxx.war,这个是个bug,因为新版中已经使用jar,而hwi.sh中还是会寻找war,所以会有警告信息,可以注释HWI_WAR_FILE变量即可,如果使用的是war包,则不会出现相关警告信息。
6 启动前的填坑
理论上这一步就是启动hwi,但是我在实验过程中,这一步遇到一个错误,困扰了很久(按照提示一直在寻找JAVA_HOME的问题,其实并不是),是hwi调用java的问题,如下:
填坑,其实是hive的lib库少了一个文件,
cp /opt/programs/jdk1.7.0_67/lib/tools.jar /usr/lib/hive/lib/
7 启动hwi
hive --service hwi
8 web查看
http://172.16.57.73:9999/hwi/