HBase多租戶-Namespace Quota管理
在多租戶的HBase環境中,通常給一個租戶分配一個namespace,因此namespace的容量管理是多租戶管理必不可少的一部分.目前namespace支援三種容量的管理,table的最大數目,region的最大數目和namespace佔用的檔案系統空間.本文給出了通過hbase shell和JAVA API兩種方式設定namespace quota的方法.
Number-of-Tables Quotas和Number-of-Regions Quotas
設定namespace quota之前,必須要在hbase-site里加一項配置,否則不會生效.
hbase.quota.enable=true
hbase shell設定Quota
建立namespace時設定quota
create_namespace 'myns', {'hbase.namespace.quota.maxtables'=>'2'}
增加或修改namespace quota
alter_namespace 'myns', {METHOD => 'set', 'hbase.namespace.quota.maxregions' => '5'}
刪除namespace quota
alter_namespace 'myns', {METHOD => 'unset', NAME => 'hbase.namespace.quota.maxtables'}
如果建立表的操作超過了maxregions閾值,HBase shell會給出錯誤提示:
hbase(main):001:0> create 'myns:t1','f1'
ERROR: The table myns:t1 is not allowed to have 1 regions. The total number of regions permitted is only 5, while current region count is 5. This may be transient, please retry later if there are any ongoing split operations in the namespace.
JAVA API設定Quota
connection = ConnectionFactory.createConnection(conf);
Admin admin = this.connection.getAdmin();
NamespaceDescriptor namespaceDescriptor = NamespaceDescriptor.create("myns").build();
namespaceDescriptor.setConfiguration(
"hbase.namespace.quota.maxtables", "10");
namespaceDescriptor.setConfiguration(
"hbase.namespace.quota.maxregions", "100");
admin.createNamespace(namespaceDescriptor);
admin.close();
注: 以上兩種quota管理從HDP2.4開始就支援,更早之前的HDP版本沒有調研是否支援.
Namespace Storage Quota
HDP2.6加入了新的feature,支援給namespace設定檔案系統空間容量,並且提供了多種策略定義當容量超過閾值之後的行為. 具體命令可以參考 Hortonworks官方文件: HBase Quota Management
在此之前的版本,要想限制namespace佔用的空間大小,只能利用hdfs給namespace所在的目錄設定容量限制.
相關文章
- 「從零單排HBase 10」HBase叢集多租戶實踐
- Part II 配置和管理多租戶環境概述-Oracle多租戶管理員指南Oracle
- 多租戶
- 【多租戶技術】
- Oracle多租戶管理員指南-CDB共性概念03Oracle
- Part III PDB建立概述-Oracle多租戶管理員指南Oracle
- 大資料體系下的多租戶管理方案大資料
- OceanBase學習之路54|如何配置多租戶管理?
- MyBatis-Plus 實現多租戶管理的實踐MyBatis
- 如何理解多租戶架構?架構
- Oracle多租戶管理員指南-體系結構介紹01Oracle
- Part II 建立和配置CDB-Oracle多租戶管理員指南Oracle
- 3.3.2 多租戶環境的工具
- 多租戶商城系統解說
- 詳解ABP框架的多租戶框架
- Oracle多租戶特性的常用操作Oracle
- 圖解:什麼是多租戶?圖解
- Part I CDB中容器概述01-Oracle多租戶管理員指南Oracle
- OceanBase學習之路53|多租戶管理引數如何設定?
- Oracle12c多租戶管理使用者、角色、許可權Oracle
- 3.3.1 多租戶環境的任務
- 2 多租戶體系結構概述
- Oracle 20C 多租戶_新特性Oracle
- 實現saas多租戶方案比較
- 一種Django多租戶解決方案Django
- 多租戶軟體開發架構架構
- Oracle多租戶架構優勢分析Oracle架構
- 多租戶系統的建立目標
- Part I CDB中服務的概述04-Oracle多租戶管理員指南Oracle
- Part I Multitenant Architecture (多租戶結構)NaN
- MaxCompute多租戶資料安全體系
- 什麼是多租戶架構? - Codonomics架構
- 多租戶是什麼意思?怎麼理解?
- Windows Azure多租戶應用開發指南Windows
- SaaS多租戶的3種隔離模式模式
- 多租戶系統的核心概念模型模型
- 多租戶系統的應用架構應用架構
- 基於 SQL 解析的 JPA 多租戶方案SQL