一、前言
本文承接上一篇:hive_学习_01_hive环境搭建(单机) ,主要是记录 hive 整合hbase的流程
二、环境准备
1.环境准备
操作系统 : linux CentOS 6.8
jdk :1.7
cdh版本为: 5.9.3
mysql : 5.1.73
hadoop-2.6.0-cdh5.9.3
hbase-1.2.0-cdh5.9.3
hive-1.1.0-cdh5.9.3
2.安装mysql
3.安装hadoop
参考:hadoop_学习_02_Hadoop环境搭建(单机)
4.安装 hbase
参考:hbase_学习_01_HBase环境搭建(单机)
5.安装hive
参考:hive_学习_01_hive环境搭建(单机)
三、服务器基本配置
1.配置主机名
(1)修改 hostname
代码语言:javascript复制sudo vim /etc/sysconfig/network
将HOSTNAME修改为 rayner (改成你自己的,所有的地方一致即可)
(2)映射主机 ip 与主机名
代码语言:javascript复制sudo vim /etc/hosts
加入以下配置:
代码语言:javascript复制192.168.1.102 rayner
2.关闭防火墙
关闭防火墙,这样就可以在本机 window 中访问虚拟机的所有端口了
CentOS 7版本以下输入:
代码语言:javascript复制service iptables stop
CentOS 7 以上的版本输入:
代码语言:javascript复制systemctl stop firewalld.service
3.时间设置
输入:
代码语言:javascript复制date
查看服务器时间是否一致,若不一致则更改
更改时间命令
代码语言:javascript复制date -s ‘MMDDhhmmYYYY.ss’
四、知识准备
1.Hive和HBase的通信意图
Hive与HBase整合的实现是利用两者本身对外的API接口互相通信来完成的,其具体工作交由Hive的lib目录中的hive-hbase-handler-*.jar工具类来实现,通信原理如下图所示。
2.Hive整合HBase后的使用场景:
(一)通过Hive把数据加载到HBase中,数据源可以是文件也可以是Hive中的表。 (二)通过整合,让HBase支持JOIN、GROUP等SQL查询语法。 (三)通过整合,不仅可完成HBase的数据实时查询,也可以使用Hive查询HBase中的数据完成复杂的数据分析。
五、hive整合hbase
因为Hive与HBase整合的实现是利用两者本身对外的API接口互相通信来完成的,其具体工作交由Hive的lib目录中的hive-hbase-handler-.jar工具类来实现。
所以只需要将hive的 hive-hbase-handler-.jar 复制到hbase/lib中就可以了。
六、hive 和 hbase 测试
在进行测试的时候,确保hadoop、hbase、hive环境已经成功搭建好,并且都成功启动了。
七、参考资料
1.大数据学习系列之五 ----- Hive整合HBase图文详解
2.Hive HBase Integration