HBase安全及namespace操作

2021-09-02 12:31:45 字數 2883 閱讀 9998

在hbase中,namespace命名空間指對一組表的邏輯分組,類似rdbms中的database,方便對錶在業務上劃分。apache hbase從0.98.0, 0.95.2兩個版本開始支援namespace級別的授權操作,hbase全域性管理員可以建立、修改和**namespace的授權。 

hbase系統預設定義了兩個預設的namespace

建立namespace

hbase>create_namespace 'ai_ns'
刪除namespace

hbase>drop_namespace 'ai_ns'
檢視namespace

hbase>describe_namespace 'ai_ns'
列出所有namespace

hbase>list_namespace
在namespace下建立表

hbase>create 'ai_ns:testtable', 'fm1'
檢視namespace下的表

hbase>list_namespace_tables 'ai_ns'

具備create許可權的namespace admin可以對錶建立和刪除、生成和恢復快照 具備admin許可權的namespace admin可以對錶splits或major compactions 

授權tenant-a使用者對ai_ns下的寫許可權

hbase>grant 'tenant-a' 'w' '@ai_ns'
**tenant-a使用者對ai_ns的所有許可權

hbase>revoke 'tenant-a''@ai_ns'

當前使用者:hbase

hbase>namespace_create 'hbase_perf'

hbase>grant 'mike', 'w', '@hbase_perf'

當前使用者:mike  

hbase>create 'hbase_perf.table20', 'family1'

hbase>create 'hbase_perf.table50', 'family1'

mike建立了兩張表table20和table50,同時成為這兩張表的owner,意味著有'rwxca'許可權 此時,mike團隊的另一名成員alice也需要獲得hbase_perf下的許可權,hbase管理員操作如下 當前使用者:hbase

hbase>grant 'alice', 'w', '@hbase_perf'
此時alice可以在hbase_perf下建立表,但是無法讀、寫、修改和刪除hbase_perf下已存在的表 當前使用者:alice  

hbase>scan 'hbase_perf:table20'

報錯accessdeniedexception 如果希望alice可以訪問已經存在的表,則hbase管理員操作如下 當前使用者:hbase

hbase>grant 'alice', 'rw', 'hbase_perf:table20' 

hbase>grant 'alice', 'rw', 'hbase_perf:table50'

revoke:撤銷許可權:

hbase> revoke 'alice'(撤銷使用者的所有許可權)

hbase> revoke 'alice','hbase_perf:table50'(撤銷使用者alice對錶hbase_perf:table50的許可權)

檢視用許可權:

hbase>user_permission 『tablename』(檢視表對應的使用者許可權)

hbase>user_permission  (檢視所有許可權)

在hbase中啟用授權機制hbase-site.xml

hbase.security.authentication

******

hbase.security.authorization

true

hbase.coprocessor.master.classes

org.apache.hadoop.hbase.security.access.accesscontroller

hbase.coprocessor.region.classes

org.apache.hadoop.hbase.security.access.accesscontroller

hbase.coprocessor.regionserver.classes

org.apache.hadoop.hbase.security.access.accesscontroller

hbase.superuser

hadoop

配置完成後需要重啟hbase集群

授權相關jira hbase-8409

hbase-9206

hbase namespace特性是對錶資源進行隔離的一種技術,隔離技術決定了hbase能否實現資源統一化管理的關鍵,提高了整體的安全性。

HBase 備份及恢復

注意事項 1.hbase版本需要保持一致,否則資料無法恢復 本方案使用export及import方法,還有其他方法可以實現,暫不涉及。1.備份,以表為單位進行匯出 bin hbase org.apache.hadoop.hbase.mapreduce.export table name dst pa...

HBase安裝及測試

hbase安裝及測試 1 單機安裝 1.1安裝hbase 執行命令 cd usr hadoop mkdir v20hadoop 將hbase 0.20.0拷貝至 usr hadoop v20hadoop 1.2啟動 關閉hbase bin start hbase.sh bin stop hbase....

hbase 備份及恢復

b 1,hbase自帶的備份恢復工具 b hbase org.apache.hadoop.hbase.mapreduce.export table1 home fred table1 hbase org.apache.hadoop.hbase.mapreduce.import table1 home...