HBase - Phoenix的安裝使用教程1(基本介紹、安裝部署)


序:基本介紹

1,什么是 Phoenix?

  • Phoenix 是構建在 HBase 上的一個 SQL 層,能讓我們用標准的 JDBC APIs 而不是 HBase 客戶端 APIs 來創建表,插入數據和對 HBase 數據進行查詢。 
  • Phoenix 完全使用 Java 編寫,作為 HBase 內嵌的 JDBC 驅動。Phoenix 查詢引擎會將 SQL 查詢轉換為一個或多個 HBase 掃描,並編排執行以生成標准的 JDBC 結果集。
  • Phoenix 直接使用 HBase API、協同處理器與自定義過濾器,對於簡單查詢來說,其性能量級是毫秒,對於百萬級別的行數來說,其性能量級是秒。 
 

2,Phoenix 與 HBase 的關系

(1)Phoenix 與 HBase 中的表是獨立的,兩者之間沒有必然的關系。
  • Phoenix 與 HBase 集成后會創建六張系統表:SYSTEM.CATALOG、SYSTEM.FUNCTION、SYSTEM.LOG、SYSTEM.SEQUENCE、SYSTEM.STATS,其中 SYSTEM.CATALOG 表用於存放 Phoenix 創建表時的元數據。
  • Phoenix 創建表時會自動調用 HBase 客戶端創建相應的表,並且在 SYSTEM.CATALOG 系統表中記錄 Phoenix 創建表時的元數據,其主鍵的值對應 HBase 的 RowKey,非主鍵的列對應 HBase 的 Column(列族不指定時為 0,且列會進行編碼)
(2)如果是通過 Phoenix 創建的表,那么必須通過 Phoenix 客戶端來對表進行操作,因為通過 Phoenix 創建的表其非主鍵的列會進行編碼。

一、Phoenix 的搭建

1,准備工作

    由於 Phoenix 是內嵌在 HBase 的 JDBC 驅動,因此我們先要安裝 JDK、HBase 和 Zookeeper,並配置好 JAVA_HOME 環境變量。具體參考我之前寫的文章:

2,下載 Phoenix 安裝包

(1)首先訪問 Phoenix 官網( 點擊打開)根據 HBase 版本下載相應的安裝包:

(2)將下載下來的壓縮包上傳到 Master 節點(比如 /home 目錄下),執行如下命令進行解壓:

tar -zxvf apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz

3)接着進入解壓后的目錄,將目錄下的所有 jar 包拷貝到集群中每個節點(主節點也要拷貝)的 hbase 的 lib 目錄下: 

注意:網上說只要拷貝 phoenix-5.0.0-HBase-2.0-server.jar 就行了,但我測試發現后面執行 sqlline.py 會一直停在中途,無法成功。同時訪問 HBase 的 Web UI 頁面可以看到其一直處於 RIT 狀態(Regions In Transition)。

cp *.jar /home/hbase-2.2.4/lib/

(4)同時將 hbase/conf 目錄下 hbase-site.xml 文件放到 phoenix 的 bin 目錄下:

cp /home/hbase-2.2.4/conf/hbase-site.xml /home/apache-phoenix-5.0.0-HBase-2.0-bin/bin

3,配置環境變量

(1)執行如下命令編輯 profile 文件:
vi /etc/profile

(2)在文件末尾添加如下配置,然后保存退出:

# For Phoenix
export PHOENIX_HOME=/home/apache-phoenix-5.0.0-HBase-2.0-bin
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PHOENIX_HOME/bin:$PATH

很多教程里面 hbase環境變量也要配置

export HBASE_HOME=/home/hbase-2.2.4
export PATH=$JAVA_HOME/bin:$HBASE_HOME/bin:$PATH

(3)最后執行如下命令讓配置生效:

source /etc/profile

4,重啟 HBase

進入 Hbase 目錄,執行如下命令重啟:
./bin/start-hbase.sh
./bin/stop-hbase.sh

5,啟動 Phoenix

(1)執行如下命令進入 phoenix 的終端(啟動腳本 sqlline.py 參數是 Zookeeper 節點);

sqlline.py localhost:2181

(2)首次進入 phoenix 終端會自動建立的 phoenix 系統表,我們執行如下命令可以查看當前所有的表:

!table

 

(3)執行如下命令則可退出 phoenix 的終端:
!exit

(3)訪問 HBase 的 Web UI 頁面也可以看到新創建的這些表:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM