hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

 

前提

         安装hive的机器上存在hadoop,否则hive不能使用

         安装hive的机器是否有“hadoop服务”无影响,但是需要有hadoop可执行程序和jar包

         注:“hadoop服务”是指 jps命令输出的那些 namenode datanode.. 等等

 

         下文中使用的 hc9.spads 为hadoop集群中的某一节点

         Hadoop 版本为 2.5.1

一、准备软件包

将 apache-hive-1.2.1-bin.tar.gz 和 mysql-connector-java-5.1.32.tar.gz 上传到Hadoop集群中节点hc9.spads,分别解压。

云计算系列——HIVE1.2.1 环境搭建

二、检查 hadoop的环境变量,如果不存在则需要配置

 HADOOP_HOME

云计算系列——HIVE1.2.1 环境搭建

验证:printenv - 输出环境变量

云计算系列——HIVE1.2.1 环境搭建

  三、检查 hadoop集群运行,如果未运行则需要运行    

   NameNode 和 ResourceManager 的Http监控页面

云计算系列——HIVE1.2.1 环境搭建

  四、检查hive 的环境变量,如果不存在则需要配置      

HIVE_HOME
云计算系列——HIVE1.2.1 环境搭建

验证:

云计算系列——HIVE1.2.1 环境搭建

  五、替换低版本jar                                                 

Hadoop下jline...jar 版本太低,需要更换为hive/lib下的 jline...jar

未替换会抛出异常(略),操作如下:

云计算系列——HIVE1.2.1 环境搭建

注; 仅替换 hive所在机器即可,且不需要重启hadoop服务。

  六、准备DBMS  - MySQL                                       

1、安装MySQL,其中会有提示输入 ,通常输入 y

云计算系列——HIVE1.2.1 环境搭建

2、启动MySQL

云计算系列——HIVE1.2.1 环境搭建

3、初始用户名密码 

云计算系列——HIVE1.2.1 环境搭建

4、登录MySQL

云计算系列——HIVE1.2.1 环境搭建

5、 建立hive数据库

云计算系列——HIVE1.2.1 环境搭建

注:使用latin1字符集,若设置为utf8,hive连接时会出错。    

6、授予权限

云计算系列——HIVE1.2.1 环境搭建

  七、拷贝JDBC Driver 到hive下的lib                         

云计算系列——HIVE1.2.1 环境搭建

  八、配置hive-site.xml 中                                       

云计算系列——HIVE1.2.1 环境搭建

1、 HIVE - DBMS 配置

>Driver

云计算系列——HIVE1.2.1 环境搭建

>URL

云计算系列——HIVE1.2.1 环境搭建

>UserName

云计算系列——HIVE1.2.1 环境搭建

>Password

云计算系列——HIVE1.2.1 环境搭建

2、更改hive-site.xml 中的变量为真实变量

云计算系列——HIVE1.2.1 环境搭建

注:此二变量配置文件中存在多个,均需修改

可将system:java.io.tmpdir 更改为/usr/local/hive

可将system:user.name 更改为 root,如下

云计算系列——HIVE1.2.1 环境搭建

否则会报出以下异常:

云计算系列——HIVE1.2.1 环境搭建

云计算系列——HIVE1.2.1 环境搭建

 

执行初始化,初始hive元数据到mysql中

schematool -dbType mysql -initSchema

  九、安装完成,启动Hive                                         

云计算系列——HIVE1.2.1 环境搭建

  十、测试Hive QL 脚本                                            

1、建表

云计算系列——HIVE1.2.1 环境搭建

2、加载数据

>Linux机器上 新建数据文件

云计算系列——HIVE1.2.1 环境搭建

内容如下:

云计算系列——HIVE1.2.1 环境搭建

>通过hive上传到hdfs

云计算系列——HIVE1.2.1 环境搭建

>通过hive,查询表内容和表行数

云计算系列——HIVE1.2.1 环境搭建