Setting Quotas for Users and Groups

Quotas limit the disk space used by a volume or an entity (user or group) on an Enterprise Edition-licensed cluster, by specifying the amount of disk space the volume or entity is allowed to use. A volume quota limits the space used by a volume. A user/group quota limits the space used by all volumes owned by a user or group.

You can set a volume quota using the volume modify command or through the MapR Control System. You can set a user/group quota using the entity modify command or through the MapR Control System.

You can set hard quota and advisory quota defaults for users and groups. When a user or group is created, the default quota and advisory quota apply unless overridden by specific quotas. You can set an entity quota using the entity modify command or through the MapR Control System.

To manage quotas, you must have a or fc permissions.

Quotas are expressed as an integer value plus a single letter to represent the unit:

  • B - bytes
  • K - kilobytes
  • M - megabytes
  • G - gigabytes
  • T - terabytes
  • P - petabytes

Example: 500G specifies a 500-gigabyte quota. Do not use two-letter abbreviations for units, such as MB or GB.

The size of a disk space quota is expressed in terms of the actual data stored from the user's point of view. Only post-compression data blocks are counted, and snapshot and replica space does not count against quotas. For example, a 10G file that is compressed to 8G and has a replication factor of 3 consumes 24G (3*8G).

For example, a 10G file that is compressed to 8G and has a replication factor of 3 consumes 24G (3*8G) of disk space, but charges only 8G to the user or volume's quota.

If a volume or entity exceeds its quota, further disk writes are prevented and a corresponding alarm is raised:

  • AE_ALARM_AEQUOTA_EXCEEDED - an entity exceeded its quota
  • VOLUME_ALARM_QUOTA_EXCEEDED - a volume exceeded its quota

A quota that prevents writes above a certain threshold is also called a hard quota. In addition to the hard quota, you can also set an advisory quota for a user, group, or volume. An advisory quota does not enforce disk usage limits, but raises an alarm when it is exceeded:

  • AE_ALARM_AEADVISORY_QUOTA_EXCEEDED - an entity exceeded its advisory quota
  • VOLUME_ALARM_ADVISORY_QUOTA_EXCEEDED - a volume exceeded its advisory quota

In most cases, it is useful to set the advisory quota somewhat lower than the hard quota, to give advance warning that disk usage is approaching the allowed limit.