Hive共有三种安装模式:1.单用户模式(本地模式、嵌入模式);2.本地MySQL模式;3.远程MySQL模式。三者的区别是:1.单用户模式是本地模式的一种,它的元信息存储在hive自带的Derby数据库中,同一时刻只能为一个用户提供服务,功能是用于测试hive程序;2.本地MySQL模式的元信息存储在本地MySQL中,同一时刻可以为多个用户提供服务,功能是用于开发测试hive程序;3.远程MySQL模式的元信息存储在远程MySQL中,同一时刻可以为多个用户提供服务,功能是用于实际生产环境。本节首先来介绍一下Hive的单用户模式的搭建过程。
本节用到的安装介质:
apache-hive-1.2.2-bin.tar.gz 提取码:qt8d
1. Linux环境准备
1台主机,关闭防火墙、设置IP地址、hostname、hosts。
bigdata112 192.168.254.112
2. 上传hive安装包
上传hive安装包到/root/tools/目录下:
[root@bigdata112 tools]# pwd
/root/tools
[root@bigdata112 tools]# ls
apache-hive-1.2.2-bin.tar.gz
3.解压Hive安装包
将hive安装包解压到安装目录/root/trainings/:
[root@bigdata112 tools]# tar -zxvf apache-hive-1.2.2-bin.tar.gz -C /root/trainings/
4.设置环境变量
将HIVE_HOME加入到环境变量PATH中:
[root@bigdata112 tools]# vi /root/.bash_profile
追加下面内容:
HIVE_HOME=/root/trainings/apache-hive-1.2.2-bin/
export HIVE_HOME
PATH=$HIVE_HOME/bin:$PATH
export PATH
使环境变量生效:
[root@bigdata112 tools]# source /root/.bash_profile
5.启动Hadoop伪分布模式
由于Hive是基于HDFS的,所以需要启动Hadoop的伪分布模式:
[root@bigdata112 ~]# start-all.sh
[root@bigdata112 tools]# jps
1414 NameNode
2139 Jps
1918 NodeManager
1503 DataNode
1679 SecondaryNameNode
1823 ResourceManager
6.启动Hive
启动之前,查看当前安装目录下有哪些目录和文件:
[root@bigdata112 apache-hive-1.2.2-bin]# pwd
/root/trainings/apache-hive-1.2.2-bin
[root@bigdata112 apache-hive-1.2.2-bin]# ls -F
bin/ examples/ lib/ NOTICE RELEASE_NOTES.txt
conf/ hcatalog/ LICENSE README.txt scripts/
如果直接启动Hive时报错:
[root@bigdata112 apache-hive-1.2.2-bin]# hive
原因是:$HIVE_HOME/conf/lib目录中的jline的版本比$HADOOP_HOME/share/hadoop/yarn/lib目录中的jline的版本新。
解决办法:删除旧版本的$HADOOP_HOME/share/hadoop/yarn/lib/jline,将新版本的$HIVE_HOME/conf/lib/jline拷贝到$HADOOP_HOME/share/hadoop/yarn/lib/目录下。
[root@bigdata112 ~]# ls /root/trainings/hadoop-2.6.1/share/hadoop/yarn/lib/jline*
/root/trainings/hadoop-2.6.1/share/hadoop/yarn/lib/jline-0.9.94.jar
[root@bigdata112 ~]# ls $HIVE_HOME/lib/jline*
/root/trainings/apache-hive-1.2.2-bin/lib/jline-2.12.jar
[root@bigdata112 ~]# rm -rf /root/trainings/hadoop-2.6.1/share/hadoop/yarn/lib/jline*
[root@bigdata112 ~]# cp /root/trainings/apache-hive-1.2.2-bin/lib/jline-2.12.jar
/root/trainings/hadoop-2.6.1/share/hadoop/yarn/lib/</pre>
拷贝完成后再启动Hive,即可正常启动:
[root@bigdata112 apache-hive-1.2.2-bin]# hive
Logging initialized using configuration in jar:file:/root/trainings/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.properties
hive> quit;
在当前工作目录下会多出一个derby.log文件,和一个metastore_db/目录:
[root@bigdata112 apache-hive-1.2.2-bin]# ls -F
bin/ examples/ LICENSE README.txt
conf/ hcatalog/ metastore_db/ RELEASE_NOTES.txt
derby.log lib/ NOTICE scripts/
由于是单用户模式,第二个用户登录会失败。
至此,Hive的单用户模式开发环境已经搭建完成,祝你玩的愉快!