在Hive已经安装成功的基础上,进行安装Hive HWI
Hive Web Interface(HWI)简介:Hive自带了一个Web-GUI,功能不多,可用于效果展示。
由于hive-bin包中没有包含HWI的页面,只有Java代码编译好的jar包:hive-hwi-1.2.0.jar
因此需要下载源码从中提取jsp文件并打包成war文件到hive-lib目录中:
wget http://mirror.bit.edu.cn/apache/hive/stable/apache-hive-1.2.0-src.tar.gz
tar xf apache-hive-1.2.0-src.tar.gz
cd apache-hive-1.2.0-src/hwi
jar cfM hive-hwi-1.2.0.war -C web .
最后将hive-hwi-1.2.0.war放到hive-lib目录下即可启动hwi服务:
nohup hive --service hwi &
报错信息:
ERROR hwi.HWIServer: HWI WAR file not found at /usr/local/hive/usr/local/hive/lib/hive-hwi-1.2.0.war
解决方法:
原因是hwi启动脚本(
HIVEHOME/bin/ext/hwi.sh)的bug:exportHWIWARFILE=
(ls ${HIVE_LIB}/hive-hwi-*.war)
这里为了方便直接修改脚本第29行为:
export HWI_WAR_FILE=$(ls $HIVE_LIB/hive-hwi-*.war | awk -F/ '{print "lib/"$NF}')
当然,也可以在配置文件hive-site.xml中指定:
<property>
<name>hive.hwi.war.file</name>
<value>lib/hive-hwi-1.2.0.war</value>
<description>This sets the path to the HWI war file, relative to ${HIVE_HOME}. </description>
</property>
<property>
<name>hive.hwi.listen.host</name>
<value>0.0.0.0</value>
<description>This is the host address the Hive Web Interface will listen on</description>
</property>
<property>
<name>hive.hwi.listen.port</name>
<value>9999</value>
<description>This is the port the Hive Web Interface will listen on</description>
</property>
报错信息:
ERROR compiler.Compiler: Javac exception
Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK. It is currently set to “/usr/local/java/jre”
原因:jetty编译jsp类时,ant没有识别到正确的jdk路径。
解决方法:
ln -s (java_home)/lib/tools.jar $HIVE_HOME/lib/