美文网首页
Hive部署

Hive部署

作者: 虫儿飞ZLEI | 来源:发表于2019-09-26 21:23 被阅读0次

    1. Hive说明

    hive的具体数据保存在HDFS上面,元数据保存在mysql上(可配置),在hive中执行的sql语句本质上就是操作HDFS上面的数据,sql操作HDFS的原理是依赖mapReduce。hive将sql转换为可以被mapreduce计算的代码,通过mapreduce的计算再将结果返回给用户。

    2. Hive安装

    2.1 依赖环境

    hadoop环境

    2.2 下载并解压

    下载地址:http://archive.apache.org/dist/hive/

    解压后的文件目录


    2.3 修改配置文件

    • hive-env.sh
    export HADOOP_HOME=/opt/hadoop-2.7.2
    export HIVE_CONF_DIR=/opt/apache-hive-1.2.1-bin/conf/
    
    • hive-site.xml
    这一项可以不配置,修改hive的default库的原始位置,默认就在/user/hive/warehouse
    <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
    <description>location of default database for the warehouse</description>
    </property>
    

    在hdfs上为default创建目录/user/hive/warehouse和/tmp,并赋予权限
    hadoop fs -mkdir /tmp
    hadoop fs -mkdir -p /user/hive/warehouse
    hadoop fs -chmod g+w /tmp
    hadoop fs -chmod g+w /user/hive/warehouse

    2.4 修改元数据到mysql

    Metastore默认存储在自带的derby数据库中,推荐使用MySQL存储Metastore,并且使用derby会只能打开一个hive窗口

    默认使用derby数据库时,会在此目录下生成如下目录,存储元数据。


    要使用MySQL存储Metastore,需要安装mysql,这里不在介绍如何安装mysql,可以参考https://www.jianshu.com/p/e0ac5674bbb8

    将mysql连接驱动复制到hive的lib包下:


    继续修改hive-site.xml,配置mysql相关信息

        <property>
          <name>javax.jdo.option.ConnectionURL</name>
          <value>jdbc:mysql://centos134:3306/metastore?createDatabaseIfNotExist=true</value>
          <description>JDBC connect string for a JDBC metastore</description>
        </property>
    
        <property>
          <name>javax.jdo.option.ConnectionDriverName</name>
          <value>com.mysql.jdbc.Driver</value>
          <description>Driver class name for a JDBC metastore</description>
        </property>
    
        <property>
          <name>javax.jdo.option.ConnectionUserName</name>
          <value>root</value>
          <description>username to use against metastore database</description>
        </property>
    
        <property>
          <name>javax.jdo.option.ConnectionPassword</name>
          <value>123456</value>
          <description>password to use against metastore database</description>
        </property>
    

    后面运行hive的时候,会在mysql创建metastore这个库,可以留意后续查看。
    此外,hive同时开多个窗口也不会报错了。

    3. hive操作

    3.1 命令行窗口

    bin/hive
    
    image.png

    可以在此输入hql语句。

    3.2 hiveserver2服务和beeline

    启动hiveserver2,会监听10000端口,可以通过jdbc:hive2://centos134:10000连接bin/hiveserver2

    启动beeline:启动beeline


    在这里同样可输入sql语句,需要先连接hive:
    !connect jdbc:hive2://centos134:10000

    3.3 开启thrift服务

    会监听端口9083,可以通过thrift://centos134:9083连接
    bin/hive --service metastore

    4. 资料

    官网:http://hive.apache.org/
    github:https://github.com/apache/hive
    下载地址:https://github.com/apache/hive

    相关文章

      网友评论

          本文标题:Hive部署

          本文链接:https://www.haomeiwen.com/subject/aivnuctx.html