Hive Web Interface(HWI)简介:Hive自带了一个Web-GUI,功能不多,可用于效果展示,如果没有安装Hue的话,是个不错的选择。

由于hive-bin包中没有包含HWI的页面,只有Java代码编译好的jar包:hive-hwi-1.0.1.jar

因此需要下载源码从中提取jsp文件并打包成war文件到hive-lib目录中:

cd apache-hive-1.0.1-src/hwi

jar cfM hive-hwi-1.0.1.war -C web .

最后将hive-hwi-1.2.0.war放到hive-lib目录下即可启动hwi服务:

 export hivelog='/usr/local/hive/logs'

 #mkdir -p $hivelog

 export HIVE_HOME='/usr/local/hive/apache-hive-1.0.1-bin' 

 $HIVE_HOME/hive --service hiveserver2 > $hivelog/hiveserver2.log 2>&1 &

 $HIVE_HOME/hive --service metastore > $hivelog/metastore.log 2>&1 &

 $HIVE_HOME/hive --service hwi > $hivelog/hwi.log 2>&1 &

但是发现hwi启动失败,报错:

ERROR hwi.HWIServer: HWI WAR file not found at /usr/local/hive/usr/local/hive/lib/hive-hwi-1.0.1.war

原因是hwi启动脚本($HIVE_HOME/bin/ext/hwi.sh)的bug:

export HWI_WAR_FILE=$(ls ${HIVE_LIB}/hive-hwi-*.war)

直接修改脚本为:

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.0.1.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>

接着访问URL:http://ubuntu:9999/hwi/

然而继续报错:

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/

或者cp  $JAVA_HOME/lib/tools.jar /usr/lib/hive/lib/

接着访问URL:http://ubuntu:9999/hwi/

然而继续报错:jsp解析错误,原来是缺少jsp的包,把jasper-compiler-5.5.23.jar、jasper-runtime-5.5.23.jar和jsp-2.1-6.1.14.jar拷贝到hive的lib下。

接着访问URL:http://ubuntu:9999/hwi/

并执行创建表

 CREATE TABLE table1(foo STRING , bar MAP<STRING, STRING>)

     ROW FORMAT DELIMITED

     FIELDS TERMINATED BY 't'

     COLLECTION ITEMS TERMINATED BY ','

     MAP KEYS TERMINATED BY ':'

     STORED AS TEXTFILE;

创建成功,心里一阵高兴,然后又创建一个表table2。

执行

load data local inpath "/usr/local/hive/apache-hive-1.0.1-bin/examples/files/map_table.txt"  overwrite into table table1;

没有问题,看来没啥问题了。

然后执行

insert into table table2 select foo,bar from table1;

又报错了

原来hive-site.xml的配置文件jars.path有问题,注释掉配置。

Hive安装(一)之环境配置的更多相关文章

  1. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

  2. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  3. Oracle 12cR1 RAC 在VMware Workstation上安装(上)—OS环境配置

    Oracle 12cR1 RAC 在VMware Workstation上安装(上)-OS环境配置 1.1  整体规划部分 1.1.1  所需软件介绍 Oracle RAC不支持异构平台.在同一个集群 ...

  4. OVS + dpdk 安装与实验环境配置

    ***DPDK datapath的OVS的安装与实验环境配置 首先肯定是DPDK的安装       0:安装必要的工具            make            gcc           ...

  5. laravel5.8笔记一:安装与服务器环境配置

    laravel版本:5.8 环境要求: PHP >= 7.1.3 OpenSSL PHP 扩展 PDO PHP 扩展 Mbstring PHP 扩展 Tokenizer PHP 扩展 XML P ...

  6. Ubuntu16.04安装后开发环境配置和常用软件安装

    Ubuntu16.04安装后1.安装常用软件搜狗输入法+编辑器Atom+浏览器Chome+视频播放器vlc+图像编辑器GIMP Image Editor安装+视频录制软件RcordMyDesktop安 ...

  7. 第一站:CLion安装教程与环境配置

    原文来自:http://www.sunmey.cn/thread-129-1-1.html 本人:找了很久才找到的CLion安装教程与环境配置,这里分享给大家~ 这里要说明的一点是CLion是要钱的, ...

  8. python中在ubuntu中安装虚拟环境及环境配置

    python中在ubuntu中安装虚拟环境及环境配置 1.升级python包管理工具pip pip install --upgrade pip 备注:当你想升级一个包的时候 `pip install ...

  9. 视频+图文教程 | Java之安装JDK与环境配置

    演示所用软件JDK 8与Eclipse(Java开发工具)软件下载链接: 链接:https://pan.baidu.com/s/1Vg9ulrQH8WlGRAE89Y02UA提取码:swwl 视频介绍 ...

  10. Hive在集群环境配置

    本文转载自:https://blog.csdn.net/hanjin7278/article/details/53035739 一.简介 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数 ...

随机推荐

  1. 安装keil MDK5

    昨天买的stm32板子今天就到了,顺丰速度确实很快. 我这是刚开始整STM32,首先需要下载keil MDK,直接杀去keil官网下载,其实对于学习者,我建议大家下载软件能去官网就去官网,尽量少用二道 ...

  2. [翻译]AKKA笔记 - 有限状态机 -1

    原文地址:http://rerun.me/2016/05/21/akka-notes-finite-state-machines-1/ 我最近有个机会在工作上使用了Akka FSM,是个非常有趣的例子 ...

  3. dom 操作

    1.dom 的查找 (1)根据id 查找 var object = document.getElementById("id 值"): (2)根据 name 查找:返回 dom 对象 ...

  4. JavaScript权威设计--Window对象(简要学习笔记十三)

    1.Window对象是所有客户端JavaScript特性和API的主要接入点. Window对象中的一个重要属性是document,它引用Document对象. JavaScript程序可以通过Doc ...

  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统(50)-Easyui 扁平化皮肤

    最近抽了点时间仿做了点皮肤,只供欣赏!扁平化

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统(17)-LinQ动态排序

    系列目录 首先修复程序中的一个BUG这个BUG在GridPager类中,把sord修改为sort这个名称填写错误,会导致后台一直无法获取datagrid的排序字段 本来是没有这一讲的,为了使20行的代 ...

  7. Handler系列之原理分析

    上一节我们讲解了Handler的基本使用方法,也是平时大家用到的最多的使用方式.那么本节让我们来学习一下Handler的工作原理吧!!! 我们知道Android中我们只能在ui线程(主线程)更新ui信 ...

  8. PHP的学习--新特性

    最近做的项目使用了 php7,但感觉有很多新特性没有用起来.就想总结一下,一些可能会用到的新特性.之前使用的环境是 php5.4,所有也会有 php5.5 和 php5.6 的特性总结进来,这里只列出 ...

  9. request 对象和 response 对象

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 HttpServletResponse HttpServletR ...

  10. angularjs和ajax的结合使用 (二)

    今天我们来继续丰富上次的例子.我们来搞些 稍微复杂点的应用. 首先我们来加一个全选 的功能. 上一篇的例子里我们看到 分页时载入的是我们通过linq 查询自定义列 然后构建的匿名类 .使用这种EF框架 ...