66666,phoenix的簡介和安裝,Hbase的進階,看了這篇,我竟然都懂了

Mr.梧桐發表於2020-09-25

一、Phoenix

Phoenix簡介

  • 構建在HBase上的SQL層
  • 使用標準SQL在HBase中管理資料
  • 使用JDBC來建立表,插入資料、對HBase資料進行查詢
  • Phoenix JDBC Driver容易嵌入到支援JDBC的程式中

安裝教程
下載連結 連結網站
將安裝包依舊解壓到Opt目錄下,然後重新命名
開啟phoenix下的Jia包所在的資料夾
拷貝到Hbae下:

cp phoenix-4.14.0-cdh5.14.2-server.jar /opt/hbase-1.2.0-cdh5.14.2/lib/ 

重啟hbase,

[root@singleNode ~]# /opt/hbase/bin/stop-hbase.sh [root@singleNode ~]# /opt/hbase/bin/start-hbase.sh 

啟動 SQLline

[root@singleNode phoenix]# bin/sqlline.py

我們可以Jps節點的方式檢視是否啟動
可以登入到:ip地址:9081,檢視

命令列操作

!tables  	-- 檢視所有表,類似於beeline操作
CREATE TABLE company (COMPANY_ID INTEGER PRIMARY KEY, NAME VARCHAR(225)); 	 --建立表操作
UPSERT INTO company VALUES(1, 'Microsoft');  	-- 插入資料不支援插入多條資料
SELECT * FROM Company;	--檢視資料

二、hbase常用命令

1.名稱空間(NameSpace)

NameSpace:一種易於表管理的機制:可以建立、刪除或更改NameSpace

#建立namespace語法
create_namespace '名稱'
#列出所有namespace
list_namespace
#namespace下建立表語法
create 'namespace名字:表名', '列族名' 
#刪除namespace
drop_namespace '名稱' 
#更改namespace屬性語法
alter_namespace 'namespace名稱', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'} 
#刪除屬性
alter_namespace 'test01',{METHOD=>"unset",NAME=>"author"}

2.安全許可權(Security with GRANT)

使用grant命令進行授權管理:如讀、寫、執行和管理等

我們可以為使用者賦予RWXCA許可權中的一個或多個

R -  read privilege	讀許可權
W - write privilege	寫許可權
C - create privilege	建立許可權	
A - admin privilege	管理許可權
X - execute		執行許可權
# 示例:給will使用者賦予讀寫建立管理許可權
grant 'will', 'RWCA', 'my_hbase_table' 

3.許可權管理命令(revoke & user_permission)

使用grant命令授權

語法:grant <user> <permissions> <table> [<column family> [<column:qualifier>]] 
示例:grant 'will', 'RWCA', 'my_hbase_table'


使用revoke命令刪除許可權

語法:revoke <user> <table> [<column family> [<column:qualifier>]]
示例:revoke 'will', 'my_hbase_table'  

使用user_permission檢視使用者對錶所擁有的許可權

語法:user_permission 'tablename'
示例:user_permission 'my_hbase_table'

三、Region管理

Region拆分

  • 當一個Region大到一定程度,會進行分裂
  • HBase可以通過Region Split達到負載均衡

Region Split策略

1)自動拆分
ConstantSizeRegionSplitPolicy
IncreasingToUpperBoundRegionSplitPolicy(預設)
2)手動指定拆分點(或按程式碼預分割)

Region合併

  • 如果刪除了大量資料,很多Region變小,這時候分成多個Region就很浪費,可以把Region合併起來,Region的合併不是為了效能考慮,主要是出於維護的目的

相關文章