1.MySQL的安装与配置
1.1为什么要安装MySQL
我们采用MySQL数据库存储Hive元数据,因此在安装配置Hive之前需要安装配置MySQL数据库。
1.2 下载
MySQL下载地址:https://downloads.mysql.com/archives/community/
选择对应的版本:
和压缩包:
2.1打开虚拟机用Xshell链接,用WinSCP将下载的MySQL安装包传到之前安装Hadoop的安装包目录,如图:
2.2MySQL的解压与配置
2.2.1创建新用户 mysql
useradd mysql
2.2.2将安装包解压缩至指定目录 /usr/local/,修改解压后的目录名称为 mysql, 修改目录 mysql的用户归属。
tar -zxvf /home/hadoop/opt/soft/mysql-5.7.37-el7-x86_64.tar.gz -C /usr/local/
mv /usr/local/mysql-5.7.37-el7-x86_64/ /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
2.2.3在安装目录下创建配置文件。
cd /usr/local/mysql
vim my.cnf
# 配置文件 my.cnf中插入如下配置信息
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err pid-file=/usr/local/mysql/data/mysql.pid
max_connections=10000
max_user_connections=2000 wait_timeout=200
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
lower_case_table_names=1
#改所属组
chown -R mysql:mysql /usr/local/mysql/my.cnf
2.2.4进入安装路径下的目录 bin,完成 mysql初始化。
cd /usr/local/mysql/bin
./mysqld --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql --initialize
2.2.5查看日志文件 mysql.err,获取初始密码。
cat /usr/local/mysql/data/mysql.err
2.2.6设置 mysql服务随系统启动。
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list
因为mysql是用来传数据,随时随地提供数据服务,会有各种各样的后端程序来访问它。
2.2.7启动 mysql服务。
cd /usr/local/mysql/support-files
./mysql.server start
2.2.7mysql服务随系统启动设置出现问题:如下:

输入下面三行:
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
启动成功
2.2.7使用初始密码登录 mysql,按要求输入2.2.5步的初始密码。
mysql -uroot -p
2.2.7出现问题 
解决问题:输入ln -s /usr/local/mysql/bin/mysql /usr/bin
成功
2.2.8在 mysql环境下修改密码,并设置远程登录。
set password=password('123456');
flush privileges;
use mysql;
update user set host='%' where user='root';
select host,user from user;
2.2.9在 mysql环境下创建新用户 hive.
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
CREATE DATABASE hive;
GRANT ALL ON hive.* TO'hive'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES ;
select host,user from user;
exit;
结束MySQL的安装与配置
2.Hive的安装与配置
2.1:下载
Hive下载地址:https://dlcdn.apache.org/hive/hive-3.1.3/
2.1同2.1
2.2MySQL的解压与配置
2.2.1将安装包解压缩至指定目录 /home/hadoop/opt/app/,修改解压后的目录名称为 hive。
tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /home/hadoop/opt/app/
mv /home/hadoop/opt/app/apache-hive-3.1.3-bin /home/hadoop/opt/app/hive
2.2.2将 Hive安装路径更新至环境变量,并刷新文件生效,将MySQL驱动程序上传至子目录lib。
vim ~/.bashrc
# 将以下内容更新至环境变量文件末尾
export HIVE_HOME=/home/hadoop/opt/app/hive/
export PATH=${HIVE_HOME}/bin:$PATH
#刷新
source ~/.bashrc
# 将MySQL驱动程序 mysql-connector-java-8.0.23.jar上传至子Hive安装目录的lib子目录中
#mysql-connector-java-8.0.23.jar 需要自己找并使用WinSCP上传至子Hive安装目录的lib子目录中
2.2.3进入hive配置路径 /home/hadoop/opt/app/hive/conf/,基于模板 hive-default.xml.template,创建 配置文件 hive-site.xml。
cd /home/hadoop/opt/app/hive/conf/
cp hive-default.xml.template hive-site.xml
2.2.4将以下内容更新至配置文件 hive-site.xml末尾的标签之前添加如下内容。(建议通过WinSCP进入该文件用编辑功能更改)
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/home/hadoop/opt/app/hive/warehouse</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop:3306/hive?createDatabaseIfNotExist=true&useUnicode-true&characterEncoding=UTF-8&</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>123456</value>
</property>
2.2.5修改配置文件 hive-site.xml中 value内容包含“system:java.io.tmpdir”的值,全部(一共4处)修改为 /home/hadoop/opt/app/hive/tmp。(建议通过WinSCP进入该文件用编辑功能更改shift+f可以查找)
前:
后:
2.2.6删掉配置文件 hive-site.xml中的 3214行的 description 标签。
2.2.7进入hive配置路径 /home/hadoop/opt/app/hive/conf/,基于模板 hive-env.sh.template,创建配置 文件 hive-env.sh。
cd /home/hadoop/opt/app/hive/conf/
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
# 将以下内容加入文件末尾
export JAVA_HOME=/home/hadoop/opt/app/java
export HADOOP_HOME=/home/hadoop/opt/app/hadoop
export HIVE_HOME=/home/hadoop/opt/app/hive
2.2.8进入hadoop配置路径 /home/hadoop/opt/app/hadoop/etc/hadoop/,将以下内容更新至配置文件 core-site.xml末尾的标签之前添加如下内容。
vim /home/hadoop/opt/app/hadoop/etc/hadoop/core-site.xml
# 将以下内容加入</configuration>标签之前
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
2.2.9启动Hadoop,初始化 Hive, 启动 Hive远程服务 HiveServer2,连接Hive,使用!quit命令。
start-all.sh
cd /home/hadoop/opt/app/hive/bin
schematool -dbType mysql -initSchema
nohup hiveserver2 &
beeline -u jdbc:hive2://hadoop:10000/default -n hadoop
2.2.10验证是否成功
show databases; #查看
!quit #退出
2.2.11在HDFS查看:
beeline -u jdbc:hive2://hadoop:10000/default -n hadoop #启动服务
create database test
到这hive安装成功。