一、前言
本文承接上一篇:
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
三、伺服器基本配置
1.配置主機名
(1)修改 hostname
sudo vim /etc/sysconfig/network
将HOSTNAME修改為 rayner (改成你自己的,所有的地方一緻即可)
(2)映射主機 ip 與主機名
sudo vim /etc/hosts
加入以下配置:
192.168.1.102 rayner
2.關閉防火牆
關閉防火牆,這樣就可以在本機 window 中通路虛拟機的所有端口了
CentOS 7版本以下輸入:
service iptables stop
CentOS 7 以上的版本輸入:
systemctl stop firewalld.service
3.時間設定
輸入:
date
檢視伺服器時間是否一緻,若不一緻則更改
更改時間指令
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