Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储。
hive可以理解为一个将SQL转换为MapReduce的任务的工具。
首先使用xftp将hive安装包传到虚拟机中的opt文件夹下面,这里我将hive的安装包传到网盘上供大家使用:
链接:https://pan.baidu.com/s/18YjexoRoxdzO-8m70h2rIQ
提取码:xzyb
注意这里百度网盘上传的是Hive整个的压缩包,但是我们最终需要上传的是Hive解压过后的里面的tar.gz文件,所以在下载完成这个rar文件之后还需要解压,如图:
上传到opt目录下:
上传文件之后,我们可以在xshell中查看文件是否上传成功:
上传成功之后 将安装包解压到/usr/local/目录下,并进入local目录进行查看:
tar -zxf /opt/apache-hive-2.3.8-bin.tar.gz -C /usr/local/
cd /usr/local
ls
然后对文件夹进行重命名为hive,操作之后的命令都是使用更改过后的名字,并查看是否更名成功:
mv apache-hive-2.3.8-bin hive
ls
然后进入目录/conf,并将其中的hive-env.sh.template文件更名为hive-env.sh,方便后面的操作:
cd /usr/local/hive/conf
ls
mv hive-env.sh.template hive-env.sh
ls
然后开始配置hive-env.sh文件,在文章末尾添加代码:
export HADOOP_HOME=/opt/hadoop-3.1.4
然后将最开始下载的Hive中的hive-site.xml上传到usr/local/hive/conf目录下(只用复制这个目录到xftp中就可到达该目录下),如图:
并将最开始下载的Hive中的mysql的jar包文件上传到/usr/local/hive/lib文件下即可:
然后替换Hiveguava-27.0-jre.jar文件,在xshell中进入/opt/hadoop-3.1.4/share/hadoop/common/lib/目录查看其版本号:
cd /opt/hadoop-3.1.4/share/hadoop/common/lib/
ls
然后进入/usr/local/hive/lib目录查看版本号:
cd /usr/local/hive/lib
ls
使用命令删除14.0的版本,并查看:
rm -rf /usr/local/hive/lib/guava-14.0.1.jar
ls
然后使用命令替换,也就是将27.0版本的复制到这个目录下来,并查看:
cp /opt/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar /usr/local/hive/lib
ls
由于上面的代码都是在lib目录下完成的,所以我要先切换到conf目录下再进行环境变量的配置:
cd /usr/local/hive/conf
vi /etc/profile
然后在profile中添加下面的代码,那个冒号也是要添加的,原本没有,添加在文章的最后部分和PATH的后面,如图:
:$HIVE_HOME/bin
export HIVE_HOME=/usr/local/hive
配置好之后要更新一下,让刚才的配置起作用,并使用Apache的工具schematool初始化metastore,如图:
source /etc/profile
schematool -dbType mysql -initSchema
我这里的初始化语句执行没有报错,如果初始化语句执行之后出现这样的报错:
那么就先进入conf文件夹打开hive-site.xml添加一段代码,注意添加的位置如图:
cd /usr/local/hive/conf
ls
vi hive-site.xml
&serverTimezone=Europe/Berlin
虽然我没有报错,但我依旧修改了代码:
重新执行初始化语句结果如图:
虽然两次结果不同,但是第二次我没有管,继续往下运行,并不影响后面代码的运行,但是如果没有报上面的那种错的话就建议还是不要进行文件修改。
然后启动元数据服务:
hive --service metastore &
然后再启动Hadoop集群,再启动hive:
cd /opt/hadoop-3.1.4/sbin
./start-dfs.sh
./start-yarn.sh
./mr-jobhistory-daemon.sh start historyserver
jps
hive
然后在hive中输入命令:
use default;
show databases;
这样hive的安装和配置就结束了。