一、安装MySQL
1.下载安装包
官网地址: https://mirror.tuna.tsinghua.edu.cn/
2.查询本机中是否有MySQL或者mariadb,如果有,则需要删除
[root@master software]# rpm -qa | grep mysql
[root@master software]# rpm -qa | grep mariadb
# 删除指令
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
3.在module目录下创建mysql文件夹,然后将mysql-5.7.30-1.el6.x86_64.rpm-bundle.tar
解压到该文件夹下:
[root@master software]# mkdir /opt/module/mysql
[root@master software]# tar xvf mysql-5.7.30-1.el6.x86_64.rpm-bundle.tar -C ../module/mysql/
4.开始安装如下的几个rpm包:
rpm -ivh mysql-community-common-5.7.30-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.30-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.30-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.30-1.el6.x86_64.rpm --force --nodeps
5.启动mysql:systemctl start mysqld ,然后执行下面的步骤。
(1)查看密码
cat /var/log/mysqld.log | grep password
(2)登录mysql:
输入命令 mysql -uroot -p ,然后输入上方的密码,会报错一次,不用在意,再来一次,然后输入命令即可登录成功。
然后我们退出系统,修改一下文件,关闭校验插件(mysql 5.66后的版本,密码不能设置成简单密码),然后修改成一个简单的密码,方便我们的使用。
(3)关闭插件,修改密码
输入命令 vi /etc/my.cnf
,然后添加代码:validate_password=off
然后重启mysql: systemctl restart mysqld
登录mysql
,输入指令修改密码: alter user 'root'@'localhost' identified by '123';
(4)下面可以自己测试一下密码123是否能够登录成功。经过测试,没问题。
(5)创建新用户,并授权:
create user 'hive'@'%' identified by 'hive';
grant all privileges on *.* to 'hive'@'%';
然后重启服务 systemctl restart mysqld
即可。
二、安装hive
1.下载hive:
apache-hive-2.3.7-bin.tar.gz
2.解压hive的安装包到opt/module目录下:
tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /opt/module/
3.配置hive环境:
vi /etc/profile
# hive
export HIVE_HOME=/opt/module/apache-hive-2.3.7/
export PATH=$HIVE_HOME/bin:$PATH
4.刷新配置:
source /etc/profile
5.在Hadoop下创建hive所用的文件夹(先开启Hadoop)
#创建文件夹
hadoop fs -ls /
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
#修改权限
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
6.配置mysql
(1)下载mysql连接jar包
http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/Connector-J/mysql-connector-java-5.1.48.zip
(2)将目标文件移动到hive的lib文件夹下
mv mysql-connector-java-5.1.48.jar $HIVE_HOME/lib
【注】如果这样不能将jar包移动到hive的lib文件夹下,就使用绝对路径去移动。
(3)创建数据库,配置用户和权限
cd $HIVE_HOME/conf
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
7.修改 hive-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
export HADOOP_HOME=/opt/module/hadoop-2.8.0
8.修改 hive-site.xml (用于配置mysql的关联)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<property>
<name>hive.exec.scratchdir</name>
<value>/opt/apache-hive-2.3.6/tmp</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/opt/apache-hive-2.3.6/warehouse</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/opt/apache-hive-2.3.6/log</value>
</property>
<!-- 配置 MySQL 数据库连接信息 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true&characterEncoding=UTF-8&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>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
</configuration>
9.初始化hive
cd $HIVE_HOME/bin
./schematool -dbType mysql -initSchema hive hive
10.尝试hive启动
nohup $HIVE_HOME/bin/hive
11.在hadoop的配置文件core-site.xml增加如下配置:
<!-- 增加hive的配置 -->
<property>
<name>hadoop.proxyuser.hive.hosts</name>
<value>hive</value>
</property>
<property>
<name>hadoop.proxyuser.hive.groups</name>
<value>hive</value>
</property>
其中“xxx”是连接beeline的用户。
12.在hive中进行查询:
show databases;
create database test;
use test;