Hive2.3.9配置与安装

目录

引言

Hive的特点

Hive系统架构

Hive的工作流程

Hive2.3.9安装

1.下载Hive

2.上传安装包

4.设置环境变量

5.创建hive-site.xml文件

6.上传jar包

7.在mysql上创建一个数据库

8.启动hadoop

9.hive初始化

10.hive的启动


引言

Hive是一个基于Hadoop的数据仓库工具, 可以将结构化的数据文件映射为一张表, 并提供类似于SQL的查询功能。

Hive本身并不存储和处理数据,更像是一个接口,存储由HDFS实现,处理数据由MapReduce实现。简单来说,Hive可以将sql语句转换为MapReduce任务, 在HDFS上进行数据查询。

Hive的特点

  • Hive采用类SQL开发,简单容易上手,避免了编写MapReduce的工作
  • Hive执行延迟比较高,无法胜任实时的工作(OLTP),大多用于数据分析工作(OLAP)。
  • Hive擅长处理大规模的数据

Hive系统架构

Hive主要由以下三个模块组成:

用户接口模块,含CLI、HWI、JDBC、Thrift Server等,用来实现对Hive的访问。CLI是Hive自带的命令行界面;HWI是Hive的一个简单网页界面;JDBC、ODBC以及Thrift Server可向用户提供进行编程的接口,其中Thrift Server是基于Thrift软件框架开发的,提供Hive的RPC通信接口。

驱动模块(Driver),含编译器、优化器、执行器等,负责把HiveQL语句转换成一系列MR作业,所有命令和查询都会进入驱动模块,通过该模块的解析变异,对计算过程进行优化,然后按照指定的步骤执行。

元数据存储模块(Metastore),是一个独立的关系型数据库,通常与MySQL数据库连接后创建的一个MySQL实例,也可以是Hive自带的Derby数据库实例。此模块主要保存表模式和其他系统元数据,如表的名称、表的列及其属性、表的分区及其属性、表的属性、表中数据所在位置信息等。


Hive的工作流程

Hive的工作流程可以被归纳成下图。

上面的的每一步流程对应下面的文字流程

1.用户提交查询任务给Driver。
2.Driver将查询任务给编译器,并请求返回一个plan。
3.编译器向MetaStore获取必要的元数据。
4.MetaStore返回编译器请求的元数据。
5.编译器生成多个stage的DAG作为plan,并将plan交给Driver。每个stage代表着一个map/reduce任务,或一个元数据操作,或一个HDFS操作。这相当于做了一套job的流水线。在Map stage中,plan包含了Map Operator Tree; 在Reduce stage中,plan包含了Reduce Operator Tree。
6.Driver上交plan给执行器去执行,获取元数据信息,提交给JobTracker或者ResourceManager去处理该任务,任务会直接读取HDFS中文件进行相应的操作。
7.获取执行的结果。
8.取得并返回执行结果。

Hive2.3.9安装

1.下载Hive

我们安装hive之前需要把Hadoop、MySQL、以及jdk这些组件安装好,因为hive依赖于这几个组件

下载hive2.3.9的安装包(apache-hive-2.3.9-bin.tar.gz),点击下面的链接下载自己需要的版本。

Index of /hive (apache.org)https://dlcdn.apache.org/hive/

2.上传安装包

将安装包(apache-hive-2.3.9-bin.tar.gz)上传到Centos7

3.解压

将Hive压缩包解压到/usr/local路径下,使用以下命令

 tar -zxvf apache-hive-2.3.9-bin.tar.gz -C /usr/local
4.设置环境变量

设置HIVE_HOME环境变量以及PATH环境变量,可直接复制

vi /etc/profile

export HIVE_HOME=/usr/local/apache-hive-2.3.9-bin
export HIVE_PREFIX=$HIVE_HOME
export HIVE_CONF_DIR=$HIVE_HOME/etc/hive
export PATH=$HIVE_HOME/bin:$HIVE_HOME/sbin:$PATH

设置完后更新环境变量,使用以下命令

source /etc/profile
5.创建hive-site.xml文件

将当前路径切换到hive的配置文件路径:cd $HIVE_HOME/conf(如果直接执行进不去这个目录,可以先进入主目录 cd  /usr/local,再切换到conf目录。)并在该路径下创建一个hive-site.xml文件,编辑进入hive-site.xml,该文件内容如下(可直接复制,mysql地址信息、密码等要按实际情况修改):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <!-- mysql jdbc驱动 -->
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
  </property>
  <!-- mysql 地址 -->
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.159.128:3306/hive_metadata?serverTimezone=UTC&amp;characterEncoding=UTF-8</value>
  </property>
  <!-- mysql 用户名 -->
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  <!-- mysql 密码 -->
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>Lzzy@2022</value>
  </property>
  <property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value>
  </property>
  <property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
  </property>
</configuration>
6.上传jar包

将mysql驱动mysql-connector-java-8.0.15.jar上传到hive的lib路径下

mysql-connector-java-8.0.15.jar供java程序或框架连接mysql数据库使用
相关下载链接://download.csdn.net/download/stevenjeason/11108837?utm_source=bbsseo

7.在mysql上创建一个数据库

进入MySQL命令:mysql -u root -p。数据库用来存hive的元数据信息(表名、表结构等信息)。mysql数据库建表语句:

CREATE DATABASE hive_metadata DEFAULT CHARACTER SET UTF8
8.启动hadoop
start-all.sh
9.hive初始化

元数据库初始化,切换到hive的bin目录下 执行

./schematool -dbType mysql -initSchema

10.hive的启动

运行hive之前要确保hadoop集群启动和MySQL服务启动正常开启的情况下

由于配置过环境变量,可以直接在命令行中输入hive  本地启动命令 hive

以上正常执行,表明hive已经安装和配置完成。可去hdfs图形界面上查看建的表,访问hadoopIP:50070

今天的分享就到这啦,希望能给你带来帮助!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值