四、伪分布下安装hive1.2

声明:本篇blog并没有配置MySQL,元数据库为derby

如需配置mysql请点击:http://blog.csdn.net/gamer_gyt/article/details/47776369

一、环境

Ubuntu14.04

hadoop2.6伪分布(安装教程请参考:点击打开链接

hive-1.2.1(下载链接:点击打开链接

二、安装

1、将其下载的安装包解压到相应的目录,在此小编的是/usr/local/hadoop/

     tar  -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/local/hadoop

      重命名操作(为了后续方便)

     mv  apache-hive-1.2.1-bin hive

2、配置hive的环境变量(在此注意,小编的profile中并未配置),故不细说

3、修改hive/conf下的几个template模板,并重命名为其他

   cp hive-env.sh.template hive-env.sh
   cp hive-default.xml.template hive-site.xml
4、配置hive-env.sh文件,如图所示:
   
5、修改hive-site.xml文件
      在修改之前,要相应的创建目录,以便与配置文件中的
      路径相对应,否则在运行hive时会报错的。
      mkdir -p /usr/local/hadoop/hive/warehouse
      mkdir -p /usr/local/hadoop/hive/tmp
      mkdir -p /usr/local/hadoop/hive/log
      这个文件中的配置项很多,篇幅也很长,所以要有耐心看。
      当然也可以使用搜索匹配字符串的方式进行查找(Ctrl+F):
      键入‘/hive.metastore.warehouse.dir’(回车)
      就会锁定到所需要的字符串上。
     其中有三处需要修改:
     <property>
     <name>hive.metastore.warehouse.dir</name>
     <value>/usr/local/hadoop/hive/warehouse</value>
     </property>
     这个是设定数据目录
     -------------------------------------
     <property>
     <name>hive.exec.scratchdir</name>
     <value>/usr/local/hadoop/hive/tmp</value>
     </property>
     这个是设定临时文件目录
     --------------------------------------
     <property>
     <name>hive.querylog.location</name>
     <value>/usr/local/hadoop/hive/log</value>
     </property>
     这个是用于存放hive相关日志的目录
     其余的不用修改。

6、如果到此结束配置启动hive会报错,如下:

    四、伪分布下安装hive1.2

    解决方法:

    1.查看hive-site.xml配置,会看到配置值含有"system:java.io.tmpdir"的配置项
    2.新建文件夹/usr/local/hadoop/hive/log
    3.将含有"system:java.io.tmpdir"的配置项的值修改为如上地址

   有时候会遇到修改完还会出现上述错误,此时做如下处理:

   可把hive/lib/jline-2.12.jar复制到hadoop/share/hadoop/yarn/lib/目录下,将其原来的jlie给删除了

   cp /usr/local/hadoop/hive/lib/jline-2.12.jar/usr/local/hadoop/share/hadoop/yarn/lib/

   rm -r /usr/local/hadoop/share/hadoop/yarn/lib/jline-0.98.jar

   注意:版本不一样jline的名称会有所不同,具体以自己的为准

7、复制 tools.jar(jdk的lib包下面的jar包) 到 hive/lib下  

      
    启动hive,成功!

8、启动命令:

     进入hive的解压目录,执行bin/hive,回车即可

    启动hive  web服务:bin/hive --service hwi

    端口访问如图 http://127.0.0.1:9999/hwi/:


四、伪分布下安装hive1.2

Yes!


三:web界面使用说明

USER模块(AUTHORIZE,用户认证模块):

首先了解用户 认证与会话的关系,在hwi中的User和Groups输入用户和所属的用户组,每一个用户认证(AUTHORIZE)信息对应着一组会话信息,hive重启后这些session信息会消失:

四、伪分布下安装hive1.2

 

SESSIONS模块是界面与HIVE的交互,hive重启后,session信息会丢失,Create Session(创建会话),List Sessions(会话管理)

首先创建一个session   search_all_databases(查询所有的数据库):

四、伪分布下安装hive1.2

提交之后点击List Sessions,写入相关的信息:Result File 是查询结果的输出文件,Error File是错误保存的文件,Query中写入你的HQL(注意结尾不用加分号),Start Query:YES,点击Submit

四、伪分布下安装hive1.2

点击submit之后会在result File 后边显示一个View File,同属Query中的查询语句被自动加上了分号,点击View File之后显示Hive中所有的数据库(由于我的hive中只有一个default表,故只显示一个):

四、伪分布下安装hive1.2


DATABASE模块是显示所有的数据库:

四、伪分布下安装hive1.2

最下边的::  Diagnostics     是系统的相关诊断信息四、伪分布下安装hive1.2

HWI与CLI对比

如果使用过cli的朋友看了上面的介绍,一定会发现一个很严重的问题:执行的过程没有提示。我们不知道某一个查询执行是什么时候结束的。

总结一下HWI与CLI对比的优缺点:

优点:HWI支持浏览器的方式浏览,方便直观。

缺点:无执行过程提示。



上一篇:编译安装libiconv报错:./stdio.h:1010:1: error: 'gets' undeclared here (not in a function)


下一篇:awk学习笔记(3) - 输出文件的列