zoukankan      html  css  js  c++  java
  • (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数据库中。


  • 相关阅读:
    虚函数和纯虚函数
    MS CRM 2011中PartyList类型字段的实例化
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(4)
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(2)
    MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第二部分)——IOrganizationService(二)
    MS CRM 2011 SDK 5.08已经发布
    MS CRM 2011 Q2的一些更新
    最近很忙
    Microsoft Dynamics CRM 2011最近的一些更新
    补一篇,Update Rollup 12 终于发布了
  • 原文地址:https://www.cnblogs.com/gyouxu/p/4608328.html
Copyright © 2011-2022 走看看