在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...