环境说明
10.176.2.101(10.176.2.121) master
10.176.2.103 zjx03
10.176.2.105 zjx05
cent-os6.5
zookeeper cdh 3.4.5
hadoop apache 2.7.7
jdk 1.8.191
mysql 5.17
sqoop 1.4.7
hbase 1.2.7
hive apache 2.3.4
安装部署
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz -c /opt/softwares
或者
wget http://apache.mirrors.hoobly.com/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz -c /opt/softwares
cd /opt/softwares
tar -zxvf apache-hive-2.3.4-bin.tar.gz -c /opt/softwares
rm -rf apache-hive-2.3.4-bin.tar.gz
# 找到mysql-connector-java驱动jar包,在安装sqoop时有使用该jar包,或者下载一个驱动包
cd /opt/softwares/sqoop-1.4.7.bin__hadoop-2.6.0/lib
cp mysql-connector-java-5.1.33.jar $HIVE_HOME/lib
# 配置环境变量
vim /etc/profile
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HIVE_HOME=/opt/softwares/apache-hive-2.3.4-bin
export PATH=$HIVE_HOME/bin:$PATH
source /etc/profile
配置hive-site.xml
操作前,由于该文件较大,内容多,使用vim编辑器的常用功能,如查找修改
:/word 在文件中查找内容为word的字符串(向下查找)
:?word 在文件中查找内容为word的字符串(向上查找)
[n] 表示重复查找动作,即查找下一个
[N] 反向查找下一个
:u 撤消上一个操作
:. 这是小数点键,重复上一个操作
vim编辑器常用操作总结参考:
https://www.cnblogs.com/jiayongji/p/5771444.html
cd /opt/softwares/apache-hive-2.3.4-bin/conf
cp hive-default.xml.template hive-site.xml
vim hive-site.xml
#修改以下内容(其中mysql数据库在zjx03节点上,创建数据库名为hive)
javax.jdo.option.ConnectionURL
jdbc:mysql://zjx03:3306/hive?characterEncoding=UTF8&useSSL=false&createDatabaseIfNotExist=true
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
root
# 该文件最开始加上如下内容
system:java.io.tmpdir
/tmp/hive/java
system:user.name
${user.name}
验证hive安装
hive --help
运行hive客户端
hive
或者
hive --service cli
初始化DB(初始化的操作一般只最开始执行一次,后续无需执行)
schematool -initSchema -dbType mysql
查看成功后的元数据
可以看到对应数据库hive中,有了各种初始的表,使用navicat连接可以清楚看到。
启动master,node节点
单机启动
hive
集群启动
[root@master conf]# hive -hiveconf hbase.zookeeper.quorum=master,zjx03,zjx05
hive>
界面查看
http://master:50070
创建数据库
创建后再查看web页面会发现多了文件夹,可以点进去查看到myhive.db,同时在mysql数据库(hive)的DBS表可以看到数据库信息
hive> create database myhive;
# 查看数据库
hive> show databases;
OK
default
myhive
# 使用数据库
hive> use myhive;
# 创建表(创建表后在web界面可以在mysql数据库的hive数据库TBLS、COLUMNS_V2表中看到表的元数据)
create table student(id int, name string, sex string, age int, department string) row format delimited fields terminated by "," lines terminated by "\n";
# 重新打开一个session
[root@master ~]# mkdir -p /opt/softwares/apache-hive-2.3.4-bin/data
[root@master ~]# cd /opt/softwares/apache-hive-2.3.4-bin/data
[root@master data]# vim student.txt
# 内容如下
95002,刘晨,女,19,IS
95017,王风娟,女,18,IS
95018,王一,女,19,IS
95013,冯伟,男,21,CS
95014,王小丽,女,19,CS
95019,邢小丽,女,19,IS
95020,赵钱,男,21,IS
95003,王敏,女,22,MA
95004,张立,男,19,IS
95012,孙花,女,20,CS
95010,孔小涛,男,19,CS
95005,刘刚,男,18,MA
95006,孙庆,男,23,CS
95007,易思玲,女,19,MA
95008,李娜,女,18,CS
95021,周二,男,17,MA
# 再回到原hive session中,往其往创建好的student表中插入一份数据文件
hive> load data local inpath "/opt/softwares/apache-hive-2.3.4-bin/data/student.txt" into table student;
Loading data to table myhive.student
OK
Time taken: 4.357 seconds
hive> select * from student;
OK
95002 刘晨 女 19 IS
95017 王风娟 女 18 IS
95018 王一 女 19 IS
95013 冯伟 男 21 CS
95014 王小丽 女 19 CS
95019 邢小丽 女 19 IS
95020 赵钱 男 21 IS
95003 王敏 女 22 MA
95004 张立 男 19 IS
95012 孙花 女 20 CS
95010 孔小涛 男 19 CS
95005 刘刚 男 18 MA
95006 孙庆 男 23 CS
95007 易思玲 女 19 MA
95008 李娜 女 18 CS
95021 周二 男 17 MA
Time taken: 4.718 seconds, Fetched: 16 row(s)
退出hive
hive> exit;
或者
hive> quit;
部署参考:
https://blog.csdn.net/JENREY/article/details/79807418
https://blog.csdn.net/lsttoy/article/details/53406710
https://blog.csdn.net/vpqtxzmzezeqjj9977/article/details/80483019