HBase常用操作之namespace

2021-09-09 06:33:21 字數 2077 閱讀 8231

1、介紹

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

2、namespace

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

hbase:系統內建表,包括namespace和meta表

default:使用者建表時未指定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'

3、授權

具備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'

在hbase中啟用授權機制

hbase-site.xml

hbase.security.authorization

true

hbase.coprocessor.master.classes

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

hbase.coprocessor.region.classes

org.apache.hadoop.hbase.security.token.tokenprovider,org.apache.hadoop.hbase.security.access.accesscontroller

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

授權相關jira

hbase-8409

hbase-9206

HBase常用操作之namespace

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

Hbase 二 Hbase常用操作

常用shell命令 hbase shell命令 描述alter 修改列族 column family 模式 count 統計表中行的數量 create 建立表describe 顯示表相關的詳細資訊 delete 刪除指定物件的值 可以為表,行,列對應的值,另外也可以指定時間戳的值 deleteall...

hbase常用操作

cd bin start hbase.sh cd bin stop hbase.sh cd bin hbase daemon.sh start rest p 20550 登入zookeeper,如 zkcli.sh ls hbase table lock rmr hbase table lock 你...