接上篇文章,3. 基于 Mac 平台 VMware 虚拟机的 Spark 安装(3)- 安装 MySQL
https://blog.csdn.net/jiangmengya1/article/details/87564758
这篇文章里,主要介绍 4. 基于 Mac 平台 VMware 虚拟机的 Spark 安装 (4) - 安装 Hive
以下所有操作基于 root 账户
一、安装 Hive
于官网 http://hive.apache.org/downloads.html
下载 apache-hive-1.2.2-bin.tar.gz 到目录 /app/soft
使用命令 # tar -zxvf apache-hive-1.2.2-bin.tar.gz 解压文件
得到 Hive 的主目录 /app/soft/apache-hive-1.2.2-bin
二、配置 Hive
1. 于 master 机器上,在 Hive 与 MySQL 之间,增加一个配置文件 hive-site.xml
进入 master 机器的 /app/soft/apache-hive-1.2.2-bin/conf 目录
增加一个配置文件 hive-site.xml,在这个文件里
我们配置 mysql 的一些信息,用于 hive 连接 mysql 使用
在 hive-site.xml 中,我们添加如下信息
编辑其内容为如图所示
这里我们主要配置了四个属性
javax.jdo.option.ConnectionURL :jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&useSSL=false
javax.jdo.option.ConnectionDriverName : com.mysql.cj.jdbc.Driver
javax.jdo.option.ConnectionUserName : root
javax.jdo.option.ConnectionPassword : ********
前两个属性是固定的,后两个属性是 hive 连接 mysql 使用的用户名和密码
2. 于 master 机器上,Hive 与 MySQL 之间,增加一个 mysql-connector-java-8.0.11.jar 包
从 maven 官网 https://mvnrepository.com/artifact/mysql/mysql-connector-java
下载一个 mysql-connector-java-8.0.11.jar 的 Jar 包
放置在目录 /app/soft/apache-hive-1.2.2-bin/lib
结果如图所示
3. 于 master 机器上 Hive 与 Hadoop 体系之间,进行 jline-version.jar 的 jar 包更新操作
将目录 /app/soft/hadoop-2.6.5/share/hadoop/yarn/lib 下的 jline-0.9.94.jar
更新为目录 /app/soft/apache-hive-1.2.2-bin/lib 下的 jline-2.12.jar
即执行命令
# mv /app/soft/hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.94.jar /app/soft/hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.94.jar.tmp
# cp /app/soft/apache-hive-1.2.2-bin/lib/jline-2.12.jar /app/soft/hadoop-2.6.5/share/hadoop/yarn/lib/
结果如图所示
4. 部署集群
针对步骤 1 和步骤 2,我们执行如下命令将配置好的 Hive 安装包同步到 slave1 和 slave 2
# scp -r /app/soft/apache-hive-1.2.2-bin slave1:/app/soft/
# scp -r /app/soft/apache-hive-1.2.2-bin slave2:/app/soft/
针对步骤 3,在 slave1 和 slave2 上分别执行如下命令
# mv /app/soft/hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.94.jar /app/soft/hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.94.jar.tmp
# cp /app/soft/apache-hive-1.2.2-bin/lib/jline-2.12.jar /app/soft/hadoop-2.6.5/share/hadoop/yarn/lib/
5. 在 master 机器、slave1 机器、slave2 机器上分别配置 Hive 环境变量到系统配置文件中
编辑每个机器的 /etc/profile ,增加如下图所示内容
6. 对 /etc/profile 进行 source 操作,并启动 hive ( 此时,保证 hadoop 的 hdfs 文件系统服务是开启的 )
# source /etc/profile
# hive
出现如图所示的 hive 操作界面
三、调试 Hive
1. 构建一个文本文件 students.txt ,上传到 hdfs 上。
通过命令 # hadoop fs -mkdir /input/students/ 创建 hdfs 目录
通过命令 # hadoop fs -put students.txt /input/students/ 将生成的文本文件上传到 /input/students 路径
通过命令 # hadoop fs -cat /input/students/students.txt 查看 hdfs 上构建的该文本文件的内容
如下图所示
2. 通过 Hive SQL 读取 HDFS 上的文件,并构建 Hive 数据库表
如图所示,我们基于 HDFS 文本文件构建 Hive 数据库 students 和 Hive 数据库表 studentsT ,
并进行查询操作,完整过程如图所示