# ZooKeeper Quota's Guide

A Guide to Deployment and Administration

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 .

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

This document contains information about deploying, administering and mantaining ZooKeeper. It also discusses best practices and common problems.

## Quotas

ZooKeeper has both namespace and bytes quotas. You can use the ZooKeeperMain class to setup quotas. ZooKeeper prints WARN messages if users exceed the quota assigned to them. The messages are printed in the log of the ZooKeeper.

`$java -cp zookeeper.jar:src/java/lib/log4j-1.2.15.jar/conf:src/java/lib/jline-0.9.94.jar \ org.apache.zookeeper.ZooKeeperMain -server host:port`

The above command gives you a command line option of using quotas.

### Setting Quotas

You can use setquota to set a quota on a ZooKeeper node. It has an option of setting quota with -n (for namespace) and -b (for bytes).

The ZooKeeper quota are stored in ZooKeeper itself in /zookeeper/quota. To disable other people from changing the quota's set the ACL for /zookeeper/quota such that only admins are able to read and write to it.

### Listing Quotas

You can use listquota to list a quota on a ZooKeeper node.

### Deleting Quotas

You can use delquota to delete quota on a ZooKeeper node.