HBase quota management

Two types of HBase quotas are well established: throttle quota and number-of
tables-quota. These two quotas can regulate users and tables.

As of version 2.6, HDP has an additional quota type: a filesystem space quota. You can
use file-system quotas to regulate the usage of filesystem space on namespaces or at the
table level.

In a multitenant HBase environment, ensuring that each tenant can use only its allotted
portion of the system is key in meeting SLAs.

Table 1. Quota Support Matrix

Quota Type

Resource Type

Purpose

Namespace applicable?

Table applicable?

User applicable?

Throttle

Network

Limit overall network throughput and number of RPC
requests

Yes

Yes

Yes

New space

Storage

Limit amount of storage used for table or namespaces

Yes

Yes

No

Number of tables

Metadata

Limit number of tables for each namespace or user

Yes

No

Yes

Numbr of regions

Metadata

Limit number of regions for each namespace

Yes

No

No

Setting up quotasHBase quotas are disabled by default. To enable quotas, the relevant hbase-site.xml property must be set to true and the limit of each quota specified on the command line.

Throttle quotasThe throttle quota, also known as RPC limit quota, is commonly used to manage length of RPC queue as well as network bandwidth utilization.

Space quotasSpace quotas, also known as filesystem space quotas, limit the amount of stored data. It can be applied at a table or namespace level where table-level quotas take priority over namespace-level quotas.

Quota enforcementWhen a quota limit is exceeded, the Master server instructs RegionServers to enable an enforcement policy for the namespace or table that violated the quota.

Quota violation policiesIf quotas are set for the amount of space each HBase tenant can fill on HDFS, then a coherent quota violation policy should be planned and implemented on the system.

Number-of-Tables QuotasThe number-of-tables quota is set as part of the namespace metadata and does not involve the set_quota command.

Number-of-Regions QuotasThe number-of-regions quota is similar to the number-of-tables quota. The number-of-regions quota is set as part of the namespace metadata and does not involve the set_quota command.