hive搭建的前提:hadoop环境已经搭建好
下载 hive
我用的版本是hive1.1,apache-hive-1.1.0-bin.tar.gz,提取码:y4r9
上传解压
将下载好的hive上传到master主机上并解压
--解压
[root@master ~]# tar -zxvf apache-hive-1.1.0-bin.tar.gz -C /usr/local/
--重命名
[root@master ~]# mv /usr/local/apache-hive-1.1.0-bin/ /usr/local/hive/
配置环境变量
[root@master hive]# vi /etc/profile
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
之前配置过hadoop环境变量直接把:$HIVE_HOME/bin加到PATH一行的后面即可
source一下使环境变量生效
[root@master hive]# source /etc/profile
配置hive
进入conf目录下
[root@master hive]# cd /usr/local/hive/conf/
hive-env.sh
template文件是模板所以我们需要先修改掉
[root@master conf]# mv hive-env.sh.template hive-env.sh
[root@master conf]# vi hive-env.sh
找到以下两行并修改,按/键可以查找
HADOOP_HOME=/root/hadoop 注意:这里是你自己的hadoop目录路径
export HIVE_CONF_DIR=/usr/local/hive/conf
配置数据仓库
1.创建数据存储目录
[root@master conf]# hdfs dfs -mkdir /tmp
[root@master conf]# hdfs dfs -mkdir -p /user/hive/warehouse
2.修改权限
[root@master conf]# hdfs dfs -chmod 777 /tmp
[root@master conf]# hdfs dfs -chmod 777 /user/hive/warehouse
解决jline版本问题
后面运行hive可能会出现Terminal initialization failed; falling back to unsupported的报错信息,那是因为hadoop目录下的jline版本和hive目录下的版本不同导致的,hive是基于hadoop运行的
将hive目录下的jline拷贝到hadoop目录下
[root@master lib]# cp /usr/local/hive/lib/jline-2.12.jar /root/hadoop/share/hadoop/yarn/lib/
加上bak后缀使原先hadoop的jline不生效
[root@master lib]# mv jline-0.9.94.jar jline-0.9.94.jar.bak
注意:这里是你自己的hadoop目录路径
运行hive
运行hive前先启动集群
[root@master conf]# start-dfs.sh
[root@slave2 ~]# start-yarn.sh
[root@master ~]# hive 敲回车
Logging initialized using configuration in jar:file:/usr/local/hive/lib/hive-common-1.1.0.jar!/hive-log4j.properties
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/root/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hive/lib/hive-jdbc-1.1.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
hive>
有什么问题欢迎留言