Hive Web Interface(hwi)

来源:互联网 发布:1553b数据总线 编辑:程序博客网 时间:2024/05/16 17:24

构建hwi的war包

Hive 1.0.0发行包里没有hwi的war包文件,这个问题在0.13和0.14上都存在,没有这个war包就不能启动hwi服务。目前的解决方法是从源码手动build出这个war包,具体做法是:

(1)下载Hive 1.0.0的源码包(apache-hive-1.0.0-src.tar.gz)并解压,下载地址为http://mirrors.cnnic.cn/apache/hive/hive-1.0.0/

(2)解压后进入hwi子目录,该目录下的web文件夹正是war包的全部文件,我们需要做的就是通过jar命令把这个文件夹打包为war文件。在hwi目录下执行:

jar -cvfM0 hive-hwi-1.0.0.war ./

caiyong@caiyong:/opt/apache-hive-1.0.0-src/hwi/web$ jar -cvfM0 hive-hwi-1.0.0.war ./

jar打包命令说明:
-c  创建war包
-v  显示过程信息
-f  指定 JAR 文件名,通常这个参数是必须的
-M  不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m 参数

-0  这个是阿拉伯数字,只打包不压缩的意思


(3)将生成的war文件移动至$HIVE_HOME/lib文件夹下


修改配置文件hive-site.xml

相关配置如下:

 <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><property>    <name>hive.hwi.war.file</name>    <value>$HIVE_HOME/lib/hive-hwi-1.0.0.war</value>    <description>This sets the path to the HWI war file, relative to ${HIVE_HOME}. </description>  </property>

 

设置ANT_LIB路径

export ANT_LIB=$ANT_HOME/lib

caiyong@caiyong:/opt$ export ANT_LIB=$ANT_HOME/lib
caiyong@caiyong:/opt$ echo $ANT_LIB
/opt/ant-1.9.4/lib
caiyong@caiyong:/opt$

启动服务

bin/hive --service hwi

caiyong@caiyong:/opt$ cd /opt/hive/
caiyong@caiyong:/opt/hive$ bin/hive --service hwi
15/03/12 13:29:54 INFO hwi.HWIServer: HWI is starting up
15/03/12 13:29:55 FATAL hwi.HWIServer: HWI WAR file not found at /opt/hive/$HIVE_HOME/lib/hive-hwi-1.0.0.war

很明显/opt/hive/$HIVE_HOME/lib/hive-hwi-1.0.0.war不是hive-hwi-1.0.0.war的正确路径。
修改配置文件hive-site.xml,更改如下:

<property>    <name>hive.hwi.war.file</name>    <value>/lib/hive-hwi-1.0.0.war</value>    <description>This sets the path to the HWI war file, relative to ${HIVE_HOME}. </description>  </property>


再次启动服务,显示如下说明开启服务成功,
caiyong@caiyong:/opt/hive$ bin/hive --service hwi
15/03/12 13:41:24 INFO hwi.HWIServer: HWI is starting up
15/03/12 13:41:25 INFO mortbay.log: Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
15/03/12 13:41:25 INFO mortbay.log: jetty-6.1.26
15/03/12 13:41:25 INFO mortbay.log: Extract /opt/hive/lib/hive-hwi-1.0.0.war to /tmp/Jetty_0_0_0_0_9999_hive.hwi.1.0.0.war__hwi__5v33a/webapp
15/03/12 13:41:26 INFO mortbay.log: Started SocketConnector@0.0.0.0:9999

访问接口

在浏览器访问Hive网络接口地址:http://127.0.0.1:9999/hwi/

结果如下图所示:





0 0
原创粉丝点击