天天看點

hive_學習_02_hive整合hbase(失敗)

 一、前言

本文承接上一篇:

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 (改成你自己的,所有的地方一緻即可)

hive_學習_02_hive整合hbase(失敗)

(2)映射主機 ip 與主機名

sudo vim /etc/hosts      

加入以下配置:

192.168.1.102  rayner      
hive_學習_02_hive整合hbase(失敗)

 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工具類來實作,通信原理如下圖所示。

hive_學習_02_hive整合hbase(失敗)

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

繼續閱讀