一文带你了解数据仓库HIVE的安装过程

HIVE是一个数据仓库,该仓库基于hadoop框架,可以将存在hdfs上的结构化数据文件映射为一张数据库表。HIVE可以使用类SQL语句来处理结构化数据(查询数据),也即是把结构化数据当成一张类mysql中的表,采用SQL语句查询。

结构化数据即行数据,可以用二维表结构来表现的数据;非结构化数据即不能二维表结构来表现的数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息。

Hive 的本质是将 SQL 语句转换为 MapReduce 任务运行,使不熟悉 MapReduce 的用户很方便地利用 HQL 处理和计算 HDFS 上的结构化的数据,适用于离线的批量数据计算。

HIVE官网

官网介绍:

The Apache Hive ™ data warehouse software facilitates reading,writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.

1 MySQL 安装

HIVE默认把元数据放在内嵌的 Derby 数据库中,但由于Derby数据库只能允许一个会话连接,不适用实际生产环境中,所以本文采用MySQL存储HIVE的元数据。

MySQL下载地址

采用yum工具安装MySQL

#下载mysql80-community-release-el8-1.noarch.rpm
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
#安装rpm软件包
yum localinstall mysql80-community-release-el8-1.noarch.rpm
#安装mysql服务端
yum install mysql-community-server
#启动mysql服务端,并设置开机启动
systemctl start mysqld
systemctl enable mysqld
systemctl daemon-reload
#登陆mysql客户端之前先修改root账户的默认密码
#日志文件中查看mysql的root用户默认密码
grep 'temporary password' /var/log/mysqld.log
#mysql客户端登陆,填写上边命令取出的密码,三个选一个。
mysql -uroot -p
#修改密码,密码必须要有大小写和数字。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Pass9999';
修改好密码,要重新启动服务端。
systemctl restart mysqld
#登陆客户端
mysql -uroot -p Pass9999
#修改root的远程访问权限,即可远程连接mysql。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Pass9999' WITH GRANT OPTION;
#刷新MySQL的系统权限
FLUSH PRIVILEGES;

在这里插入图片描述 mysql存贮hive的元数据,元数据都有哪些表,每个表具体含义如下:

在这里插入图片描述

SELECT * FROM `VERSION`
SELECT * FROM `DBS`
SELECT * FROM `TBLS`
  • version 表:hive版本信息 在这里插入图片描述
  • DBS表:hive数据库相关的元数据表 在这里插入图片描述
  • TBLS表:hive表和视图相关的元数据表 在这里插入图片描述

2 HIVE 安装

我下载的软件包为:apache-hive-3.1.2-bin.tar.gz,下载地址可以从hadoop集群搭建那篇文章中找。

# 解压缩/usr/local下
tar -zxvf apache-hive-3.1.2-bin.tar.gz /usr/local
#重命名
mv apache-hive-3.1.2-bin hive-3.1.2
#配置环境变量
vi /etc/profile
#在文档末尾添加如下配置
export HIVE_HOME=/usr/local/hive-3.1.2
export HIVE_CONF_DIR=$HIVE_HOME/conf
export PATH=$HIVE_HOME/bin:$PATH
#立即生效环境变量
source /etc/profile
#cd 到文件下
/usr/local/hive-3.1.2/conf
#复制一份文件为hive-site.xml
cp hive-default.xml.template hive-site.xml
#清空hive-site.xml的内容,添加如下内容
<configuration>
    <property><!--数据库连接地址,使用MySQL存储元数据信息,创建hive DB-->
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
    </property>
    <property><!--数据库驱动-->
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
    </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>Pass-9999</value>
      <description>password to use against metastore database</description>
    </property>
    <property><!--HDFS路径,用于存储不同 map/reduce 阶段的执行计划和这些阶段的中间输出结果。-->
      <name>hive.exec.local.scratchdir</name>
      <value>/tmp/hive</value>
    </property>
    <property><!--Hive 查询日志所在的目录,HDFS路径-->
      <name>hive.querylog.location</name>
      <value>/tmp/logs</value>
      </property>
    <property><!--本地表的默认位置,HDFS路径-->
      <name>hive.metastore.warehouse.dir</name>
      <value>/user/hive/warehouse</value>
    </property>
    <property><!--本地模式开启,3种启动模式,具体看下文-->
      <name>hive.metastore.local</name>
      <value>true</value>
    </property>
    <property
      <name>hive.server2.logging.operation.log.location</name>
      <value>/tmp/logs</value>
      </property>
      <property>
      <name>hive.downloaded.resources.dir</name>
      <value>/tmp/hive${hive.session.id}_resources</value>
    </property>
</configuration>

#修改hive配置文件
#cd 到bin文件下
/usr/local/hive-3.1.2/bin
#添加如下配置
export HADOOP_HEAPSIZE=${HADOOP_HEAPSIZE:-256}
export JAVA_HOME=/usr/local/jdk1.8.0_261
export HADOOP_HOME=/usr/local/hadoop-3.2.1
export HIVE_HOME=/usr/local/hive-3.1.2
#添加java驱动
cd /usr/local/hive-3.1.2/lib
#把jar放在lib文件下,该文件从网上下载。
mysql-connector-java-5.1.49-bin.jar
#对Hive进行初始化并启动Hive
# cd 到bin文件下,对hive初始化,主要是初始化mysql,添加mysql为hive的元数据库。
cd /usr/local/hive-3.1.2/bin
schematool -initSchema -dbType mysql
#启动hive,直接输入hive启动
hive
#查看database 和 table
show databases;
show tables;

在这里插入图片描述

文章持续更新,可以微信搜索「 大数据分析师知识分享」第一时间阅读,回复【666】获取大数据相关资料。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值