(1)、hive框架搭建和架构简介

一、简介

Hive是基于hadoop的一个数据仓库工具,有助于查询和管理分布式存储系统中的数据集,非常适合数据仓库的统计分析

Hive 不适合用于连机事物处理、也不提供实时查询,比较适合在大量不可变数据的批处理作业。

二、下载与安装

1、下载hive压缩包,并复制到centos系统的/opt/module目录下

2、解压文件:tar -zxvf apache-hive-1.0.1-bin.tar.gz    执行重命名文件夹为  hive

3、添加hive-1.0.1到环境变量中,本文前提是已经配置好了hadoop的运行环境,运行环境为hadoop2.2

vi /etc/profile
插入内容
export HIVE_HOME=/opt/modules/hive
export PATH=$PATH:$HIVE_HOME

4、配置hive-default.xml和hive-site.xml文件

进入到/opt/modules/hive/conf,将hive-default.xml.template 复制为hive-default.xml和hive-site.xml文件,修改hive-env.xml文件的权限

chmod u+x hive-env.sh

5、在shell命令行中,输入:hive   则会进入到hive的shell命令窗口

(在配置的过程中,遇到了很多的问题,不过根据log日志,可以一步一步的解决问题)

三、架构

hive的架构可以分为四个部分

  • 用户接口
  •     主要有CLI、Client和WUI,CLI启动的时候,会同时启动一个hive的副本
  • 元数据存储
  •     hive中的元数据是存储在RDBMS中的,如:MySQL,hive的元数据包括表的名字、表的列、表的属性、表的数据所在的目录
  •     在hive中,每个数据库对于与HDFS文件系统的一个目录,在数据库中创建的表,则在相应的数据库目录下,为数据库目录的子目录。
  • 解释器、编译器、优化器
  •    使用HQL语句查询,需要从词法分析、语法分析、编译、优化以及查询计划的生成,生成的查询信息存储在HDFS中,然后由MapReduce调用执行
  • 数据存储
  •   hive的数据存储在HDFS中的,大部分的查询都被解释为MapReduce任务,只有少部分直接读取文件

架构图如下所示。

si

 

四、存储元数据到MySQL数据库中

a  安装MySQL数据库

     yum install -y mysql-server mysql mysql-deve

b、重启mysql服务

     service mysqld restart

c、登陆MySQL,并授予权限

     mysql -u root -p ***

    分配权限:grant all privileges on *.* to 'root'@'hadoop-yarn' identified by 'root123';

    刷新权限:flush privileges

d、创建hive专用的元数据库:“hive”

    create database hive;

e、在Hive的conf目录下的hive-site.xml文件添加以下配置

    <property>
        <name>hive.metastore.local</name>
        <value>true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop-yarn:3306/hive?characterEncoding=UTF-8</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root123</value>
    </property>

f、将mysql的驱动包复制到hive目录的lib目录下

g、启动hive命令,如下图所示

h、进入MySQL数据库

     执行命令:use hive

  show tables   如图所示

到此,hive的环境搭建结束,元数据metastore存储在MySQL数据库中。


 

posted @ 2015-06-29 21:20  开心学习吧  阅读(2218)  评论(1编辑  收藏  举报