大数据平台搭建(三):hive 介绍和安装配置

前言

     集群我们已经弄好了,本章开始搭建hive。

1.hive介绍

    1.Hive是什么?
     官方解释:Hive是基于Hadoop的数据仓库解决方案。由于Hadoop本身在数据存储和计算方面有很好的可扩展性和高容错性,因此使用Hive构建的数据仓库也秉承了这些特性。
     简单来说,Hive就是在Hadoop上架了一层SQL接口,可以将SQL翻译成MapReduce去Hadoop上执行,这样就使得数据开发和分析人员很方便的使用SQL来完成海量数据的统计和分析,而不必使用编程语言开发MapReduce那么麻烦。
    2.hive经典架构图

大数据平台搭建(三):hive 介绍和安装配置_第1张图片

     如图中所示,Hive通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口。
     在使用过程中,至需要将Hive看做是一个数据库就行,本身Hive也具备了数据库的很多特性和功能。
     Hive擅长的是非实时的、离线的、对响应及时性要求不高的海量数据批量计算,即席查询,统计分析。

2. centos7安装mysql

     目的:为了存储hive的元数据表,如果用hive自带的Derby库,起一个hive shell连接就要单独创建一个库,不能够共享元数据表。
     1.直接yum安装没有源,所以先下载rpm包
     rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
     2.查看当前可用的mysql安装资源
     yum repolist enabled | grep “mysql.-community.
     3.yum方式安装mysql
     yum -y install mysql-community-server
     4.开机启动
     systemctl enable mysqld
     5.启动mysql服务进程
     systemctl start mysqld
     6.重置密码
     mysql_secure_installation
     大数据平台搭建(三):hive 介绍和安装配置_第2张图片
     7.进入mysql命令行,mysql -uroot -p123
       执行下面的语句 ( .:所有库下的所有表 %:任何IP地址或主机都可以连接 root 和 123是mysql的用户密码):
       GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123’ WITH GRANT OPTION;
       FLUSH PRIVILEGES; //权限立即生效
    
      

3.安装hive

     1.将下载好的tar包(版本别下错,前面章节已经介绍版本)上传到hadoop203
     2.tar -zxvf 解压,将hive加入环境变量
vim /etc/profile

export HIVE_HOME=/home/hadoop/hive
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin

source /etc/profile
    3.新增hive-site.xml并配置,其他文件我没有配置都是默认的。

大数据平台搭建(三):hive 介绍和安装配置_第3张图片

"1.0" encoding="UTF-8" standalone="no"?>
"text/xsl" href="configuration.xsl"?>

    
        hive.metastore.warehouse.dir
        /hivedata/warehouse/
        Hive在HDFS上的根目录,内部表的hdfs目录
    
    
        javax.jdo.option.ConnectionURL
        jdbc:mysql://192.168.8.203:3306/hive?createDatabaseIfNotExist=true
        Hive元数据库的连接串,红色为数据库名
    
    
        javax.jdo.option.ConnectionDriverName
        com.mysql.jdbc.Driver
        Hive元数据库JDBC驱动
    
    
        javax.jdo.option.ConnectionUserName
        root
        Hive元数据库用户名
    
    
        javax.jdo.option.ConnectionPassword
        123
        Hive元数据库密码
    
    
        datanucleus.autoCreateTables
        true
        不存在时,自动创建Hive元数据表
    
    
        datanucleus.autoCreateColumns
        true
        不存在时,自动创建Hive元数据列
    
    
        datanucleus.fixedDatastore
        false
    
    
        datanucleus.autoStartMechanism
        SchemaTable
    

至此,hive配置就基本完成!


4.hive版本的选择,影响hive用户接口

     1.hive cli, 1.0.0后已经被废弃,但是还是能用的。

大数据平台搭建(三):hive 介绍和安装配置_第4张图片

    2. hive1.0.0之后官方推荐beeline + httpserver2的方式,但是考虑到hive cli 用的比较广泛,所以在beeline之上又封装了一层。
     新hive cli 切换命令:export USE_DEPRECATED_CLI=false
     详情可参考官方解释:
      https://cwiki.apache.org/confluence/display/Hive/Replacing+the+Implementation+of+Hive+CLI+Using+Beeline
      但是,我发现1.1.0版本的新cli不太好使,所以决定要么用老的cli ,要么用beeline。大数据平台搭建(三):hive 介绍和安装配置_第5张图片
    3.beeline简单介绍
     HiveServer2提供了一个新的命令行工具Beeline,它是基于SQLLine CLI的JDBC客户端。Beeline工作模式有两种,即本地嵌入模式和远程模式。嵌入模式情况下,它返回一个嵌入式的Hive(类似于Hive CLI);而远程模式则是通过Thrift协议与某个单独的HiveServer2进程进行连接通信。
    4.beeline本地嵌入模式操作hive大数据平台搭建(三):hive 介绍和安装配置_第6张图片
     远程模式(暂不研究,下图标错,应该是先启动hiveserver2):

大数据平台搭建(三):hive 介绍和安装配置_第7张图片

5.hive使用

     1.上面可知,我用的是beeline,进入命令行后,需要进行连接,如下图,用户密码直接回车跳过

大数据平台搭建(三):hive 介绍和安装配置_第8张图片


总结:

     本文主要讲了centos7中mysql安装和hive安装,并简单介绍了hive的用户接口(3种,看hive架构图)。下一章节介绍hive表和UDF等。

大数据平台搭建(四):hive中的表及UDF

你可能感兴趣的:(大数据平台搭建(三):hive 介绍和安装配置)