HWI(Hive web Interface)即Hive的webUI接口。一般通过路径http://maste:9999/hwi 来访问hive的webUI。HWI提供了一个hive数据仓库的可视化的操作的界面。
1)下载hive源码,找到web文件夹
2)将web文件夹通过如下命令进行打包,生成war文件
jar cfM hive-hwi-1.2.1.war –C web .
3)修改hive-site配置文件
4)copy 相关jar文件。
Tools.jar、jasper-compiler-5.5.23.jar、jasper-runtime-5.5.23.jar、commons-el-1.0.jar
5)启动hwi服务
hive–service hwi
搭建成功结果:
搭建过程中遇到的问题(踩到的坑):
1. 未导入hive-hwi-*.war文件
2. 没有Tools.jar
从${JAVA_HOME}/lib下将tools.jar 拷贝到${HIVE_HOME}/lib下
3. 没有jasper-compiler-5.5.23.jar、jasper-runtime-5.5.23.jar
报错:NO JSP Support for /hwi, did not findorg.apache.jasper.servlet.JspServlet
缺少jar: 下载jar,并放到lib目录下
jasper-compiler-5.5.23.jar
jasper-runtime-5.5.23.jar
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-compiler</artifactId>
<version>5.5.23</version>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-runtime</artifactId>
<version>5.5.23</version>
</dependency>
4. 缺少 commons-el-1.0.jar
java.lang.NoClassDefFoundError:org/apache/commons/el/ExpressionEvaluatorImpl
atorg.apache.jasper.compiler.JspUtil.<clinit>(JspUtil.java:62)
atorg.apache.jasper.JspCompilationContext.getServletClassName(JspCompilationContext.java:335)
……
Caused by: java.lang.ClassNotFoundException:org.apache.commons.el.ExpressionEvaluatorImpl
atjava.net.URLClassLoader$1.run(URLClassLoader.java:366)
atjava.net.URLClassLoader$1.run(URLClassLoader.java:355)
atjava.security.AccessController.doPrivileged(Native Method)
atjava.net.URLClassLoader.findClass(URLClassLoader.java:354)
atjava.lang.ClassLoader.loadClass(ClassLoader.java:425)
atsun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
atjava.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 38 more
仍然缺少jar:下载jar,并放置到lib目录下
commons-el-1.0.jar
<dependency>
<groupId>commons-el</groupId>
<artifactId>commons-el</artifactId>
<version>1.0</version>
</dependency>
最后介绍下hue,在实际企业中一般会使用Hue来取代HWI功能,Hue提供了远远比HWI更加强大丰富的功能。具体安装配置参见:
http://blog.csdn.net/sinat_25306771/article/details/53534017