VMware15.5Pro【安装传送门】
CentOS6.9【安装传送门】
JKD1.8【安装传送门】
Hadoop2.6-CDH5.15【安装传送门】
1、上传安装包和mysql连接包 到指定目录
2、解压安装包
tar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C ../servers/
3、进入hive-1.1.0-cdh5.14.0 目录 执行启动命令就是derby版
cd /export/servers/hive-1.1.0-cdh5.14.0/
启动命令: bin/hive
Hive derby版有很大的缺点:多个地方安装hive后,每一个hive是拥有一套自己的元数据,大家的库、表就不统一;
给三台节点安装Hive,安装前需要安装好JDK和Hadoop。配置好环境变量。如果需要使用mysql来存储元数据,则需要mysql也安装好。
1、在线安装mysql相关的软件包
yum install mysql mysql-server mysql-devel
2、启动mysql的服务
启动服务: /etc/init.d/mysqld start
设置开机自动启动服务:
chkconfig mysqld on
3、进入mysql的客户端进行授权
进入mysql shell窗口: mysql
查看所有数据库:show databases;
选择数据库: use mysql;
设置root用户连接mysql密码:
update user set password=password('123456') where user='root';
刷新: flush privileges;
配置远程连接:
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
刷新: flush privileges;
4、修改配置文件
修改hive-env.sh:添加Hadoop环境变量
cd /export/servers/hive-1.1.0-cdh5.14.0/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
添加hadoop环境变量和Hive config的dir路径
export HIVE_CONF_DIR=/export/servers/hive-1.1.0-cdh5.14.0/conf
修改hive-site.xml
vim hive-site.xml
添加以下内容:
javax.jdo.option.ConnectionURL
jdbc:mysql://节点主机名:3306/hive?createDatabaseIfNotExist=true
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
123456
hive.cli.print.current.db
true
hive.cli.print.header
true
hive.server2.thrift.bind.host
节点主机名
上传mysql的lib驱动包
将mysql-connector-java-5.1.38.jar 上传到这个目录下
cd /export/servers/hive-1.1.0-cdh5.14.0/lib
因为我已经上传了mysql的驱动包所以我需要移动一下驱动包的位置就可以了
mv /export/soft/mysql-connector-java-5.1.38.jar .
接下来需要把hive安装包分发到另外两个节点
cd /export/servers/
scp -r hive-1.1.0-cdh5.14.0/ node02:$PWD
scp -r hive-1.1.0-cdh5.14.0/ node03:$PWD
配置hive环境变量,方便hive在全局启动
在profile.d目录里面创建一个hive.sh 不要直接追加在profile文件中(直接追加会有很大的误操作风险)
cd /etc/profile.d
vim hive.sh
export HIVE_HOME=/export/servers/hive-1.1.0-cdh5.14.0
export PATH=$PATH:$HIVE_HOME/bin
把环境变量也分发到另外两台节点
scp /etc/profile.d/hive.sh node02:/etc/profile.d/
scp /etc/profile.d/hive.sh node03:/etc/profile.d/
三台节点执行 source /etc/profile 让hive环境变量生效
集群内能提示出来hive命令说明成功了
介绍两种与hive交互的方式:
第一种:在任意位置直接使用 hive 命令进行交互
第一次启动hive mysql会自动创建一个hive表用来存储元数据
第二种方式:使用 Hive JDBC服务
启动hiveserver2服务
后台启动程序
nohup hive --service hiveserver2 &
beeline连接hiveserver2
beeline
beeline> !connect jdbc:hive2://node01:10000