hive的tar包下载地址:
链接:https://pan.baidu.com/s/1m3VKT2-kIgR1QyjmfnWvGw?pwd=r45r
提取码:r45r
mysql的tar包:
链接:https://pan.baidu.com/s/1--s1m3hfNNKEVGkFEqi5iA?pwd=b7h4
提取码:b7h4
由于hive的元数据是存放在mysql当中的,所有在安装hive之前,需要将mysql的环境在虚拟机上提前安装好,如果没有安装mysql环境的这里也给出了mysql的安装目录和mysql的tar包。
1.解压并安装Hive并将名字修改为hive3.1.2
mv apache-hive-3.1.2 hive3.1.2
2.安装配置MySQL 十五个步骤
(1)下载mysql安装包,然后上传mysql安装包到Linux服务器的/home/hadoop/software目录下
mv /home/hadoop/software/mysql-5.7.37-linux-glibc2.12-x86_64.
tar.gz /home
(2)检查自己的虚拟机是否已经安装了MySQL
yum list installed | grep mysql
(3)卸载CentOS6.5自带的MySQL(没有就不用执行这一步)
yum remove mysql mysql-ql-libs.x86_64
注意:当时在这里删除自带的MySQL的时候报错
A.修改 /etc/yum.repos.d 中的 CentOS-Base.repo
B.注释所有的 mirrorlist= #mirrorlist=
C.取消所有的 baseurl 注释
D.将 baseurl 中的mirrorlist.centos.org 改为 vault.centos.org
修改过后成功删除系统自带的MySQL!!!
(4)解压mysql安装包 并重新起名为mysql5.7 方便配置环境变量
cd /home
tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql5.7
(5)在mysql目录下面创建data目录
mkdir /home/mysql5.7/data
(6)创建mysql的用户组和用户,并且给mysql5.7目录设置用户组和用户
cd /home
groupadd mysql
useradd mysql -g mysql
cd mysql5.7
chown -R mysql .
chgrp -R mysql .
//注意这儿的.必须要,否则会报错。
(7)配置my.cnf文件
nano /etc/my.cnf
添加内容如下:
[mysqld]
basedir=/home/mysql5.7
datadir=/home/mysql5.7/data
port=3306
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
(8)修改/etc/selinux/config文件配置
nano /etc/selinux/config
(9)创建sock文件目录
mkdir -p /var/lib/mysql
cd /home/mysql5.7
chown mysql:mysql /var/lib/mysql
(10)配置mysql环境变量
vim /etc/profile
添加如下内容:
export MYSQL_HOME=/home/mysql5.7
export PATH=$MYSQL_HOME/bin:$PATH
(11)初始化mysql,下面一行代码
mysqld --user=mysql --basedir=/home/mysql5.7 --datadir=/home/mysql5.7/data --initialize
(12)启动mysql服务器
/home/mysql5.7/support-files/mysql.server restart
/home/mysql5.7/support-files/mysql.server stop
/home/mysql5.7/support-files/mysql.server start
(13)检查mysql服务是否正常
ps -ef | grep mysql
(14)登陆mysql
mysql -u root -p
(15)需要注意的是,刚安装的mysql,不能直接使用,需要修改初始密码
set password=password("123456");
注:在启动MySQL的过程当中,出现了一个错误就。是因为权限不够的原因;
解决办法:
将我们的安装的MySQL
Chmod 755 mysql5.7 就解决了问题
现在才开始配置Hive的环境
3.解压并安装 Hive 使用下面的命令,解压Hive 安装包:
并且改名为hive3.1.2
cd /home/hadoop/software/
tar -zxvf apache-hive-3.1.2-bin.tar.gz
mv apache-hive-3.1.2-bin hive3.1.2
cd hive3.1.2
4.启动MySQL 服务:
/home/mysql5.7/support-files/mysql.server restart
/home/mysql5.7/support-files/mysql.server stop
/home/mysql5.7/support-files/mysql.server start
5.然后创建myhive 用户:
grant all on *.* to myhive@'%' identified by '123456';
grant all o.* to myhive@'master' identified by '123456';
flush privileg
6.创建数据库:
create database myhive;
输入命令退出MySQL:
quit;
7.配置Hive
切换到以下目录:
cd /home/hadoop/software/hive3.1.2/conf
然后再该目录下创建一个新文件hive-site.xml,然后配置hive-site.xml 文件
8.然后再该目录下创建一个新文件hive-site.xml,然后配置 hive-site.xml文件如下内容:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://HadoopMaster:3306/hive01?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>myhive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
</configuration>
9.使用下面的命令打开配置:
nano /home/hadoop/.bash_profile
将下面两行配置环境变量:
export HIVE_HOM E=/home/hadoop/software/hive3.1.2
export PATH=$HIVE_HOME/bin:$
10,启动hive
进入hive 安装主目录
hive
启动过程当中有以下错误:
A.因为MySQL和hive的guava.jar版本不统一
解决方法:把hadoop里的复制到hive里同时删掉hive里面的guava.jar包
Hadoop存放位置:
cd hadoop-3.2.2/share/hadoop/common/lib
Hive存放位置:
/home/hadoop/software/hive3.1.2/lib
然后直接复制过去就行
cp -r guava-27.0-jre.jar /root/apache-hive-3.1.2-bin/lib
B.是因为我没有启动我的hadoop的集群报出如下错误:
解决办法:
使用start-all.sh启动集群就好了。
C.第三个报错是因为权限不够,我的hive使用Hadoop用户安装的,所以切换到Hadoop用户启动hive就好了。
D.第四个报错是因为我的hive没有初始化出现的报错
解决办法:退出hive重新初始化就好了
schematool -dbType mysql -initSchema