Hive实战

本文详细介绍了Hive的元数据部署模式,重点讲解了使用MySQL作为元数据库的配置过程,包括Hive的嵌入式模式、MySQL的安装与配置,以及Hive在MySQL模式下的初始化和连接验证。内容涵盖了从Hive环境变量设置、元数据初始化到Hive与MySQL的连接配置,适合想要了解和实践Hive与MySQL集成的读者。
摘要由CSDN通过智能技术生成

参考:https://cwiki.apache.org/confluence/display/Hive/Design 

    1. Hive元数据部署模式

Hive的元数据主要存储Hive的表和分区等信息。

      1. 嵌入式模式
      2. 嵌入式模式通常只用于测试环境。元数据的存储采用Derby数据库,包括数据库和元数据服务都嵌入在HiveServer进程中。这种方式比较便捷,配置少,但是同时只能支持一个用户,因此常用于测试,不适合生产环境。
        1. Hive安装(嵌入式)
      3. 说明由于Hive是Hadoop上的一个SQL查询工具,因此安装Hive之前需要先搭建Hadoop环境。这里基于之前搭建的Hadoop环境,具体参见Hadoop课程。

          1. Hive版本选择
      4. 鉴于之前Hadoop的版本采用的是2.7.3,与之搭配的Hive版本选2.1.1比较好。因此,这里以Hive 2.1.1为例。

         

          1. Hive安装包下载
      5. Hive的各种版本安装包下载地址为:http://archive.apache.org/dist/hive/ ,进入hive-2.1.1,选择apache-hive-2.1.1-bin.tar.gz二进制安装包,大约143M。或者从我的网盘下载:链接:https://pan.baidu.com/s/1sMlnrcsSacmVMdlSjcgGsg  密码:p7wz

          1. Hive安装
      6. 第一步:将hive安装包上传到hadoop01的/root目录下。

        第二步:解压并设置环境变量

        [1] 解压

        [root@hadoop01 ~]# cd /opt/

        [root@hadoop01 opt]# tar zxf ~/apache-hive-2.1.1-bin.tar.gz

        [root@hadoop01 opt]# mv apache-hive-2.1.1-bin hive-2.1.1

         

        [2] 配置环境变量

        在/etc/profile追加如下两行:

        export HIVE_HOME=/opt/hive-2.1.1

        export PATH=$HIVE_HOME/bin:$PATH

         

        执行” . /etc/profile”让环境变量即时生效。或者“source  /etc/profile”

         

        第三步:初始化元数据

        [root@hadoop01 ~]# cd /opt/hive-2.1.1/

        [root@hadoop01 hive-2.1.1]# schematool -dbType derby -initSchema

         

        注意:

        [1] 这一步默认会在命令执行的当前目录生成metastore_db元数据库文件;

        [2] 后面启动hive的时候也必须在metastore_db所在目录启动。

         

        第四步:启动Hive命令

        [root@hadoop01 hive-2.1.1]# hive

        hive> show databases;

        default

        注意:执行这一步需要先启动hdfs和yarn。

         

        第五步:退出Hive命令

        hive> quit;

        [root@hadoop01 hive-2.1.1]#

         

        1. MySQL安装
      7. Hive元数据库支持很多中,包括MySQL、PostgreSQL和Oracle等,但强烈推荐MySQL。

         

          1. MySQL安装
            1. rpm离线
      8. https://dev.mysql.com/downloads/mysql/ 下载对应平台的rpm包进行安装。

         

            1. yum在线安装(推荐)
      9. 参考:https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7

         

        如下两个镜像选择一个即可,推荐使用电子科大的国内镜像。

        官方镜像(国内下载超级慢):

        [root@hadoop01 ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

         

        国内电子科大镜像(速度很快)

        [root@hadoop01 ~]# wget http://mirrors.ustc.edu.cn/mysql-repo/mysql57-community-release-el7-9.noarch.rpm 

         

        [root@hadoop01 ~]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm

        [root@hadoop01 ~]# yum install mysql-server -y

         

          1. MySQL启动与密码设置
      10. 启动

        [root@hadoop01 ~]# systemctl start mysqld

         

        查看状态

        [root@hadoop01 ~]# systemctl status mysqld

         

        查找root临时密码

        MySQL安装的时候默认设置了开机启动,因此不需要再设置。同时,安装过程中为root用户产生了一个临时密码,可以通过如下命令获得。

        [root@hadoop01 ~]# grep 'temporary password' /var/log/mysqld.log

         

          1. MySQL安全配置
      11. [root@hadoop01 ~]# mysql_secure_installation

        说明:所有询问除了第一个输入’n’之外,其他全部输入’y’。

        注意:密码强度要求必须有大写字母,数字和标点符号。这里采用Abcd.1234

         

        [root@hadoop01 ~]# mysql -uroot -p

         

        root密码修改

        mysql> grant all privileges on *.* to 'root'@'%' identified by 'Abcd.1234';

         

          1. 测试MySQL
      12.  

        [root@hadoop01 ~]# mysqladmin -u root -p version

         

        1. Hive安装(本地模式) 
          1. Hive安装包准备
      13. 第一步:将hive安装包上传到hadoop01的/root目录下。

        第二步:解压并设置环境变量

        [1] 解压

        [root@hadoop01 ~]# cd /opt/

        [root@hadoop01 opt]# tar zxf ~/apache-hive-2.1.1-bin.tar.gz

        [root@hadoop01 opt]# mv apache-hive-2.1.1-bin hive-2.1.1

         

        查看hive的包目录

        [root@hadoop01 hive-2.1.1]# ls -lrt

         

        [2] 配置环境变量

        在/etc/profile追加如下两行:

        export HIVE_HOME=/opt/hive-2.1.1

        export PATH=$HIVE_HOME/bin:$PATH

         

        执行” . /etc/profile”让环境变量即时生效。或者“source /etc/profile”

         

          1. hive配置文件准备
      14. [root@hadoop01 ~]# cd /opt/hive-2.1.1/conf/

        [root@hadoop01 conf]# cp hive-default.xml.template hive-site.xml

        [root@hadoop01 conf]# cp hive-env.sh.template hive-env.sh

         

          1. 修改hive-env.sh
      15. # Set HADOOP_HOME to point to a specific hadoop install directory

        HADOOP_HOME=/opt/hadoop-2.7.3

         

        # Hive Configuration Directory can be controlled by:

        export HIVE_CONF_DIR=/opt/hive-2.1.1/conf

         

          1. 修改hive-site.xml
      16. 确保hive-site.xml中hive.metastore.warehouse.dir的值保持不变:

        <property>

            <name>hive.metastore.warehouse.dir</name>

            <value>/user/hive/warehouse</value>

            <description>location of default database for the warehouse</description>

          </property>

         

        创建tmp目录

        [root@hadoop01 ~]# mkdir $HIVE_HOME/tmp

         

        在该文档开始部分的<configuration>下方加入如下配置:

          <property>

            <name>system:java.io.tmpdir</name>

            <value>/opt/hive-2.1.1/tmp</value>

          </property>

          <property>

            <name>system:user.name</name>

            <value>root</value>

          </property>

         

        设置元数据库

         

        <property>

            <name>javax.jdo.option.ConnectionURL</name>

            <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</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.ConnectionDriv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Daringjw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值