• hadoop-2.10.0安装hive-2.3.6


    公司建立数仓,hive是必不可少的,hive是建立在hadoop基础上的数据库,前面已经搭建起了hadoop高可用,要学习hive,先从搭建开始,下面梳理一下hive搭建过程

    1.下载hive安装包 ,下载地址:https://hive.apache.org/downloads.html 

    找到自己hadoop对应的版本下载安装,我这里下载的是 apache-hive-2.3.6-bin.tar.gz

    2.安装hive,将安装包解压到/opt/soft下,并建立软链接

    tar -zxvf apache-hive-2.3.6-bin.tar.gz -C /opt/soft/
    cd /opt/soft
    mv apache-hive-2.3.6-bin hive-2.3.6
    ln -s hive-2.3.6 hive

    3.配置环境变量/etc/profile

    vim /etc/profile

    #hive export HIVE_HOME=/opt/soft/hive export PATH=$PATH:$HIVE_HOME/bin

    保存后别忘记编译一下

    source /etc/profile

    4.配置hive配置文件,hive元数据默认存储到derby数据库中,我们这里使用mysql来存储,hive-site.xml配置信息较多建议下载到windows下修改,然后再传上去

    首先复制默认的配置文件模板,里面已经包含hive所有的默认配置信息

    cp hive-default.xml.template hive-site.xml

    修改hive-site.xml配置文件,将元数据存放数据库改为mysql,在hive-site.xml中找到下列属性,修改为:

    复制代码
    <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.ConnectionURL</name>
        <value>jdbc:mysql://192.168.118.1:3306/hive2</value>
        <description>
          JDBC connect string for a JDBC metastore.
          To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
          For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
        </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>111111</value>
        <description>password to use against metastore database</description>
      </property>
    复制代码

    数据库驱动为mysql驱动com.mysql.jdbc.Driver,URL改为mysql的hive2(自定义)数据库,用户名密码为自己数据库对应的用户名密码

    修改hive配置的一些目录,指定到自己选择的目录,搜索以 ${system 开头的 value 替换为自己的目录,我这里替换为:/home/hdfs/hive下相关目录

    复制代码
      <property>
        <name>hive.exec.local.scratchdir</name>
        <value>/home/hdfs/hive</value>
        <description>Local scratch space for Hive jobs</description>
      </property>
    <property>
        <name>hive.downloaded.resources.dir</name>
        <value>/home/hdfs/hive/downloads</value>
        <description>Temporary local directory for added resources in the remote file system.</description>
      </property>
      <property>
        <name>hive.querylog.location</name>
        <value>/home/hdfs/hive/querylog</value>
        <description>Location of Hive run time structured log file</description>
      </property>
      <property>
        <name>hive.server2.logging.operation.log.location</name>
        <value>/home/hdfs/hive/server2_logs</value>
        <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
      </property>
    复制代码

    修改权限验证为false

    复制代码
     <property>
        <name>hive.server2.enable.doAs</name>
        <value>false</value>
        <description>
          Setting this property to true will have HiveServer2 execute
          Hive operations as the user making the calls to it.
        </description>
      </property>
    复制代码

    5.既然修改元数据存放在mysql库里,就需要将mysql驱动包放入到hive/lib中,注意mysql版本和驱动包一致

    mv mysql-connector-java-8.0.18.jar /opt/soft/hive/lib/

    6.在mysql数据库中创建hive2库

    7.初始化hive的元数据(表结构)到mysql中。

    cd /opt/soft/hive/bin
    schematool -dbType mysql -initSchema

    出现如下信息,代表成功

    也可以查看mysql中hive2库,所有表初始化完成

    8.启动hadoop,如果没有安装可以参考:centos7搭建hadoop2.10高可用(HA)

    start-all.sh

    9.启动hive

    hive

     查看目前只有default数据库

    创建数据库:

    create database myhivedb2;

     查看创建的mysqhivedb2已经出来了

    我们查一下hdfs中是否创建了对应的目录

    hdfs dfs -ls -R /user/hive/

     也可以查看mysql中hive2库的dbs表:

     至此hive环境搭建完成

    转自:https://www.cnblogs.com/qixing/p/12275185.html

  • 相关阅读:
    layui 获取select下拉选项上自定义的属性
    TP中关联模型的使用
    安卓模仿直播中的闪动(放大缩小)的动画
    Android报错Multiple dex files define Lcom/ta/utdid2/c/a/c
    Date.parse()的坑
    Android应用加固的简单实现方案(二)
    Android应用加固的简单实现方案
    Android中ANR的触发机制-BroadcastReceiver篇
    Android中ANR的触发机制-Service篇
    Application中以标准模式启动Activity报错的原因分析
  • 原文地址:https://www.cnblogs.com/javalinux/p/14922660.html
Copyright © 2020-2023  润新知