安装本地hive
安装的前提是hadoop完全分布式可以正常的跑起来
第一部分:安装mysql8.0
1.安装wget工具
yum -y install wget
2.通过wget工具下载mysql源文件
注意:以下版本过高,后面安装MySQL源会失败,所以建议刚开始尝试换成低版本的
wget http://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm #高版本
wget http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm #低版本
3.安装Mysql源
yum install -y mysql80-community-release-el7-7.noarch.rpm
4. 安装MySQL
yum install mysql-community-server -y --nogpgcheck
注意1:–nogpgcheck表示不检查gpg密钥
注意2:如果总是报密钥gpg错误,则删除之前旧的gpg密钥
5. 启动MYSQL服务
systemctl start mysqld
6. 查看MYSQL初始密码
cat /var/log/mysqld.log | grep password
7. 登录MYSQL并修改root账号的密码为LaoCai@2024
# 先登录
mysql -uroot -p # 回车后输入初始密码,后登录
# 修改密码,注意修改的密码要和后面配置 hive-site.xml文件时内容保持一致
alter user 'root'@'localhost' identified by 'LaoCai@2024';
8. 设置为允许远程登录
use mysql;select user,host from user;update user set host='%' where user='root';flush privileges;
第二部分:安装hive
【说明】:hive支持3种部署模式,分别是内嵌模式、本地模式和远程模式
1)内嵌模式:使用Hive内嵌的Derby数据库存储元数据,不能共享元数据,仅用于测试环境。
2)本地模式:使用mysql存储元数据,但是用户只能在Hive部署的服务器上连接Hive进行操作。
3)远程模式:也是使用mysql存储元数据,但是用户可以在任意服务器上远程连接Hive并进行操作。Hive提供了MetaStore和HiveServer2两种服务实现远程连接。HiveServer2服务基于Thrift实现,提供了使用JDBC和ODBC连接Hive的功能。用户通过HiveServer2服务远程连接Hive时,需要提前启动MetaStore服务。
1.上传hive安装包到hadoop03机器的/export/servers目录
2. 解压hive安装包并重命名为hive
# 先解压
tar -zxvf apache-hive-3.1.2-bin.tar.gz
# 再重命名
mv apache-hive-3.1.2-bin hive
注意]:hadoop和hive的运行都依赖jar包guava.jar,但是它们默认使用该jar包的版本不一致可能会有jar包冲突问题,所以需要用hadoop下的jar包替换hive中的
# 先进入目录
cd /export/servers/hadoop313/share/hadoop/common/lib
# 再把新的guava-27.0-jre.jar复制到 /export/servers/hive/lib/下。
cp guava-27.0-jre.jar /export/servers/hive/lib/
# 最后进入到/export/servers/hive/lib/再把旧的删除
cd /export/servers/hive/lib/
rm -rf guava-19.0.jar
4. 配置环境变量
编辑/etc/profile,添加如下代码:
export hive_home=/export/servers/hive
export PATH=$hive_home/bin:$PATH
保存并退出后使用 source /etc/profile生效
5. 修改hive配置文件(如果没有,则需要自己添加hive-site.xml文件)
注意:第18行的mysql密码要和你自己设置的密码保持一致
进入hive安装目录下的conf目录,编辑 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></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>LaoCai@2024</value></property><property><name>hive.metastore.warehouse.dir</name><value>/user/hive_local/warehouse</value></property>
</configuration>
6. 上传MySQL驱动包到lib目录(需要自己提前准备,或网上下载)
先进入:/export/servers/hive/lib
然后上传mysql-connector-java-8.0.30.jar
7. 初始化MySQL
【注意】:要提前启动hadoop完全分布式集群,通过jps查看一下,是不是543形式的进程
schematool -initSchema -dbType mysql
8. 连接hive
hive
9. 创建数据库(使用数据库命令时记得以分号结尾)
create database testdb1; # 创建数据库
show databases; # 查看数据库