本篇使用的是本地模式(即本地安装mysql 替代derby存储元数据)
操作系统:Ubuntu-16.04.2-server-amd64.iso;MySql版本为5.7;hadoop版本为:2.9.1;
Hive 基于hadoop的安装手册
一、hive的软件安装
1、上传hive的apache-hive-2.3.2-bin.tar.gz压缩包
2、进入到上传的目录下,使用解压命令解压apache-hive-2.3.2-bin.tar.gz
命令为:tar -zxvf apache-hive-2.3.2-bin.tar.gz
3、可以执行命令mv apache-hive-2.3.2-bin /usr/local/hive
二、修改配置文件
1、配置hive的环境,需要提前启动hadoop
总命令:/usr/local/hadoop/sbin/start-all.sh
(如果配置了/etc/environment的环境变量,可以直接使用
命令start-all.sh )或者执行下面两个步骤
命令1:/usr/local/hadoop/sbin/start-dfs.sh
命令2:/usr/local/hadoop/sbin/start-yarn.sh
2、hive的配置主要配置两个
(1)hive-env.sh (可以从hive-env.sh.template文件复制过来)
将/usr/local/hive/conf 目录下hive-env.sh.template复制下来
通过xftp传输出来,进行修改
修改后重新传上去
(2)hive-site.xml (是由hive-default.xml.template文件复制过来的)
修改内容为:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://IP:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
可以使用ctrl+F进行标签查找,修改value
三、进行相关文件夹配置
命令如下:
/usr/local/hadoop/bin/hadoop fs -mkdir -p /user/hive/warehouse
/usr/local/hadoop/bin/hadoop fs -mkdir -p /user/hive/tmp
/usr/local/hadoop/bin/hadoop fs -mkdir -p /user/hive/log
/usr/local/hadoop/bin/hadoop fs -chmod -R 777 /user/hive/warehouse
/usr/local/hadoop/bin/hadoop fs -chmod -R 777 /user/hive/tmp
/usr/local/hadoop/bin/hadoop fs -chmod -R 777 /user/hive/log
四、进行临时目录配置
创建临时IO文件夹:mkdir /usr/local/hive/tmp
再一次配置 hive-site.xml 里面全部关于system:java.io.tmpdir
就是
s
y
s
t
e
m
:
j
a
v
a
.
i
o
.
t
m
p
d
i
r
替
换
为
/
u
s
r
/
l
o
c
a
l
/
h
i
v
e
/
t
m
p
总
共
有
4
个
点
需
要
替
换
复
制
{system:java.io.tmpdir} 替换为 /usr/local/hive/tmp 总共有4个点需要替换 复制
system:java.io.tmpdir替换为/usr/local/hive/tmp总共有4个点需要替换复制{system:java.io.tmpdir},使用ctrl+f,切换到替换选项
替换为 /usr/local/hive/tmp
五、对hive初始化
需要上传mysql.jar包到 hive的lib目录下,否则,找不到。
将三个jar包到/usr/local/hive/lib
注意:此时,mysql 及hadoop需要在启动状态。
命令为:/usr/local/hive/bin/schematool -initSchema -dbType mysql
(这里可以多一步,配置hive的环境变量:
nano /etc/environment
source /etc/environment
PATH="/usr/local/hive/bin:/usr/local/hadoop/bin:/usr/local/
hadoop/sbin:/usr/lib/jvm/jdk1.8.0_181/bin:/usr/local/sbin: /usr/local/bin:/usr/sbin:/usr/bin:/sbin$
JAVA_HOME="/usr/lib/jvm/jdk1.8.0_181"
CLASSPATH=".:%JAVA_HOME%/lib:%JAVA_HOME%/lib/tools.jar")
六、进行测试,是否安装并配置成功
命令:/usr/local/hive/bin/hive
(如果配置了hive的环境变量,可以执行
命令:hive )
运行效果:成功进入shell
执行创建语句:如:CREATE TABLE t1(id int);
后续的bug修改:hive-site.xml文件
1 替换${system:user.name} 为你的用户,比如:root
2 参数修改
javax.jdo.option.ConnectionURL jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true&useSSL=false
值得注意的是:xml文件如果直接写&会解析错误,需要使用&替代&