数据仓库Hive安装部署与测试练习

环境说明

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)
<!-- 如果 mysql 和 hive 在同一个服务器节点,那么请更改 zjx03为 localhost -->
<property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://zjx03:3306/hive?characterEncoding=UTF8&amp;useSSL=false&amp;createDatabaseIfNotExist=true</value>
</property>
<property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
        <description>Driver class name for a JDBC metastore</description>
</property>
<property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
</property>
<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
    </property>
# 该文件最开始加上如下内容
<property>
    <name>system:java.io.tmpdir</name>
    <value>/tmp/hive/java</value>
</property>
<property>
    <name>system:user.name</name>
    <value>${user.name}</value>
</property>
验证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

11188611-a11e38d2b93de663.png

创建数据库

创建后再查看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

猜你喜欢

转载自blog.csdn.net/weixin_34233421/article/details/87052766