环境
本文章使用 Ubuntu 22.04 64位 作为系统环境,请自行前往优麒麟官网自行安装系统,也可通过阿里镜像下载安装;在安装Hadoop3.1.3的基础上安装Hive3.1.2,Hadoop3.1.3的安装教程详见林子雨老师的有关Hadoop3.1.3安装教程及单机/伪分布式配置,在这不做过多赘述:Hadoop3.1.3安装教程_单机/伪分布式配置_Hadoop3.1.3/Ubuntu18.04(16.04)_厦大数据库实验室博客 (xmu.edu.cn)
前言
本文中安装的Hadoop及JDK是基于林子雨老师的《大数据技术原理与应用》中所要求内容,因安装的Ubuntu系统不同、apt更新程度不同,因此所安装的mysql与林子雨老师的可能有所不同(本文安装的mysql的版本为8.0.35),版本相差不大对安装的影响也不是很大,读者可以尝试参考本文章进行安装。
下面附上厦门大学数据实验室主页:
厦门大学数据库实验室 | 数据驱动生活 (xmu.edu.cn)
注:在安装Hive3.1.2之前,请首先安装Hadoop3.1.3
下载资源
附上百度网盘下载链接,内有所需资源:
链接:https://pan.baidu.com/s/121zVsgc4muSt9rgCWnJZmw
提取码:wkk6
一、安装Hive3.1.2
1.下载并解压Hive安装包
将在物理机上下载的apache-hive-3.1.2-bin.tar文件拖入虚拟机中Ubuntu系统上的“下载”文件夹中
若不能拖入可能是因为没有安装VMware Tools,可移步于笔者的另一篇文章:真·保姆级——在VMware的Ubuntukylin上进行Hadoop单机/伪分布式安装时安装VMware Tools后虚拟机与物理机之间无法传输文件和复制粘贴的问题(附Ubuntu更改默认登录用户)_哇咔咔哇咔的博客-CSDN博客
打开下载文件夹,对文件进行解压:
cd ~/下载
sudo tar -zxvf ./apache-hive-3.1.2-bin.tar.gz -C /usr/local
如上,解压成功,可以看到/usr/local目录下有相关解压文件
2.安装Hive
进入/usr/local/目录下,对解压缩后的文件进行改名并修改文件权限:
cd /usr/local/
sudo mv apache-hive-3.1.2-bin hive
sudo chown -R hadoop hive
3.配置环境变量
使用vim编辑.bashrc文件:
vim ~/.bashrc
在该文件最前面一行添加如下内容:
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=/usr/local/hadoop
HADOOP_HOME需要被配置成读者的Hadoop的安装路径,笔者安装在/usr/local/hadoop目录下
编辑完成保存并退出后,运行如下命令使配置立即生效:
source ~/.bashrc
4.修改配置文件
将hive-default.xml.template重命名为hive-default.xml:
cd /usr/local/hive/conf
mv hive-default.xml.template hive-default.xml
新建配置文件hive-site.xml:
cd /usr/local/hive/conf
vim hive-site.xml
将如下内容写入文件hive-site.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
</configuration>
写入后保存并退出vim编辑器。
二、MySQL的安装与配置
1.安装MySQL
安装MySQL步骤请参考笔者另一篇文章:Ubuntu下载安装最新版MySQL(附运行截图)-CSDN博客
2.下载并安装mysql jdbc 包
上一小节中的博客安装的 MySQL的版本为 8.0.35,因此我们需要下载对应版本的 MySQL jdbc 包,读者可以去本文开始时下载资源章节中的下载链接中下载,也可前往官网进行下载:MySQL :: Download Connector/J
下载教程可参考:下载mysql jdbc 包详细教程-CSDN博客
下载完成后,将包从物理机上拖到虚拟机Ubuntu系统中的家目录下的下载文件夹中
对mysql-connector-j_8.1.0-1ubuntu22.04_all.deb文件进行解压缩
使用
sudo dpkg -i mysql-connector-j_8.1.0-1ubuntu22.04_all.deb
命令安装 MySQL Connector/J 软件包时,该软件包将会被解压并放置在
/usr/share/java/
目录下
将解压缩后的文件mysql-connector-j-8.1.0.jar拷贝到/usr/local/hive/lib目录下:
cd ~/下载
sudo dpkg -i mysql-connector-j_8.1.0-1ubuntu22.04_all.deb
cd /usr/share/java
cp mysql-connector-j-8.1.0.jar /usr/local/hive/lib
解压之后可以看到*/usr/share/java目录下有mysql-connector-j-8.1.0.jar*文件:
3.启动并登陆mysql shell
cd ~
service mysql start #启动mysql服务
mysql -u root -p #登陆shell界面
4.创建用户
create user hive identified by 'hive';
创建了一个用户名为 "hive" 的用户,并设置了密码为 "hive"
5.授权
grant all privileges on hive.* to hive@'%' with grant option;
授予了用户 "hive" 对数据库 "hive" 中所有表的全部权限,并且允许该用户将这些权限授予其他用户。
hive@'%'
表示用户 "hive" 可以从任何主机连接到 MySQL 服务器
6.刷新权限
flush privileges;
刷新了权限,使新的授权规则立即生效
如下为3-6小节的执行过程:
三、验证hive的安装及可能出现的错误
1.启动Hadoop
start-dfs.sh
笔者已配置环境变量,所以,不需要把start-dfs.sh的路径加上,如果没有配置PATH,请读者加上路径后才能运行命令。
2.初始化hive
进入hive安装目录(笔者的hive安装目录为*/usr/local/hive*),执行命令如下:
cd /usr/local/hive
./bin/schematool -dbType mysql -initSchema
若启动过程中出现如下报错:
org.datanucleus.store.rdbms.exceptions.MissingTableException: Required table missing : "`VERSION`" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations.
就是hive初始化的问题,可直接进行初始化操作(即执行此步骤)亦可参考此篇博客:
启动hive时报错:Required table missing : “VERSION
“ in Catalog ““ Schema ““._required table missing : "version
" in catalog ""-CSDN博客
3.启动hive
在启动hive之前请读者先启动数据库服务
cd /usr/local/hive
bin/hive
若正常启动会进入Hive的交互式执行环境以后,并出现如下命令提示符:
hive>
若启动过程中出现如下报错:
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
可参考此篇博客:启动hive时报错“java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument“-CSDN博客
4.运行hive简单操作
create database if not exists hive; #创建一个名为 "hive" 的数据库,如果它不存在的话
show databases; #显示所有的数据库
show databases like 'h.*'; #显示以 'h' 开头的数据库
若能成功运行且未出现报错则证明hive成功安装并配置完成!!!
版权归原作者 哇咔咔哇咔 所有, 如有侵权,请联系我们删除。