【教程】【安裝搭建】使用Phoenix連接僞分佈式HBase(Win10+ECS+putty+FileZilla)

前言

之前發現HBase雖然數據存儲是快了,但是手動在命令行插入數據的時候需要一個個插入,有點累,然後就發現了Phoenix。Phoenix中文翻譯爲鳳凰, 其最早是Salesforce的一個開源項目,後來成爲Apache基金的頂級項目。本文是在【教程】【環境搭建】大數據僞分佈式搭建Hadoop(Win10+ECS+putty+FileZilla)【教程】【環境搭建】大數據僞分佈式搭建HBase(Win10+ECS+putty+FileZilla)這兩篇博客的基礎環境上繼搭建的。

解壓縮Phoenix安裝文件

1.下載

這裏選用的HBase的版本是4.10.0,因爲之前我安裝的是1.1.5的HBase。這是官網的下載界面,記得要和HBase版本對應。bin是二進制文件,解壓可以直接用,src是源文件,需要自行編譯。官網下載傳送:https://phoenix.apache.org/download.html
我的版本:apache-phoenix-4.10.0-HBase-1.1-bin.tar.gz
在這裏插入圖片描述

2.解壓縮

我下載的是bin文件,已經放入Downloads文件夾下。這裏就直接解壓了,最好還是自己換個文件夾保存。
(1)進入用戶的下載目錄

cd ~/Downloads

(2)解壓到當前文件夾下

tar -zxvf apache-phoenix-4.14.0-HBase-1.2-bin.tar.gz

安裝並啓動Phoenix

1.拷貝jar到Hbase的lib目錄下

(1)進入上面已經解壓好的文件夾下

cd ~/Downloads/apache-phoenix-4.10.0-HBase-1.1-bin

(2)列出所有文件

ls

框內的文件就是我們需要拷貝的:
在這裏插入圖片描述

(3)拷貝文件到HBase的lib目錄下

cp phoenix-4.10.0-HBase-1.1-server.jar /usr/local/hbase/lib

2.啓動Hadoop(如果已經啓動Hadoop請跳過此步驟)

(1)進入/usr/local/hadoop

cd /usr/local/hadoop

(2)啓動Hadoop

./sbin/start-dfs.sh

(3)查看是否啓動成功

jps

如果顯示以下類似的進程信息,則表明啓動成功:

992 Jps
647 DataNode
873 SecondaryNameNode
494 NameNode

3.啓動HBase

(1)進入/usr/local/hbase

cd /usr/local/hbase

(2)啓動HBase

./bin/start-hbase.sh

(3)查看是否啓動成功

jps

如果顯示一以下類似的進程信息,則表明啓動成功:

2579 HMaster
2708 HRegionServer
647 DataNode
3016 Jps
873 SecondaryNameNode
494 NameNode
2510 HQuorumPeer

4.進入Phoenix控制檯

(1)回到直接的解壓目錄

cd ~/Downloads/apache-phoenix-4.10.0-HBase-1.1-bin/

(2)進入控制檯

./bin/sqlline.py

會顯示以下信息:
在這裏插入圖片描述
基本安裝就到這裏了,下面是一些簡單操作的演示。

簡單操作演示

1.顯示所有表

語句:

/hbase> !tables

輸出:

+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-+
| TABLE_CAT  | TABLE_SCHEM  | TABLE_NAME  |  TABLE_TYPE   | REMARKS  | TYPE_NAME  | SELF_REFERENCING_COL_NAME  | REF_GENERATION  | INDEX_STATE  | IMMUTABLE_ROWS  | SALT_BUCKETS  | |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-+
|            | SYSTEM       | CATALOG     | SYSTEM TABLE  |          |            |                            |                 |              | false           | null          | |
|            | SYSTEM       | FUNCTION    | SYSTEM TABLE  |          |            |                            |                 |              | false           | null          | |
|            | SYSTEM       | SEQUENCE    | SYSTEM TABLE  |          |            |                            |                 |              | false           | null          | |
|            | SYSTEM       | STATS       | SYSTEM TABLE  |          |            |                            |                 |              | false           | null          | |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-+

2.創建新表並顯示

語句:

/hbase> !sql
. . . > create table test1 (mykey integer not null primary key, mycolumn varchar);

輸出:

No rows affected (1.307 seconds)

2.插入數據

語句:

/hbase> upsert into test1 values (1,'Hello World!');

輸出:

1 row affected (0.037 seconds)

這裏可以看出通過Phoenix可以用SQL對一行多個值進行插入,加上二級索引比之前方便多了。

3.查詢表

語句:

/hbase> select * from test1;

結果:

+--------+---------------+
| MYKEY  |   MYCOLUMN    |
+--------+---------------+
| 1      | Hello World!  |
+--------+---------------+
1 row selected (0.05 seconds)

4.刪除記錄

語句:

/hbase> delete from test1 where mykey = 1;

結果:

1 row affected (0.017 seconds)

查詢表:

+--------+-----------+
| MYKEY  | MYCOLUMN  |
+--------+-----------+
+--------+-----------+
No rows selected (0.037 seconds)

5.退出

語句:

/hbase> ! quit

輸出:

Closing: org.apache.phoenix.jdbc.PhoenixConnection

後記

作爲NoSQL的HBase加上了二級索引的SQL,所以可以稱爲HSQL嗎,總之嘗試一下這些奇怪的東西也是挺有趣的。

參考文章

1.Hbase之使用Phoenix連接
2.淺談Phoenix在HBase中的應用
3.Phoenix的shell簡單操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章