Managing Impala Admission Control
Minimum Required Role: Configurator (also provided by Cluster Administrator, Full Administrator)
Admission control is an Impala feature that imposes limits on concurrent SQL queries, to avoid resource usage spikes and out-of-memory conditions on busy CDH clusters. It is a form of "throttling". New queries are accepted and executed until certain conditions are met, such as too many queries or too much total memory used across the cluster. When one of these thresholds is reached, incoming queries wait to begin execution. These queries are queued and are admitted (that is, begin executing) when the resources become available.
For further information on Impala admission control, see Admission Control and Query Queuing.
Enabling and Disabling Impala Admission Control Using Cloudera Manager
- Go to the Impala service.
- Click the Configuration tab.
- Select .
- Select or deselect the Enable Impala Admission Control checkbox.
- Click Save Changes to commit the changes.
- Restart the Impala service.
Configuring Impala Admission Control Using Cloudera Manager
- Go to the Impala service.
- Click the Configuration tab.
- Select .
- Configure admission control properties:
- default_pool_max_queued
- Purpose: Maximum number of requests allowed to be queued before rejecting requests. Because this limit applies cluster-wide, but each Impala node makes
independent decisions to run queries immediately or queue them, it is a soft limit; the overall number of queued queries might be slightly higher during times of heavy load. A negative value or 0
indicates requests are always rejected once the maximum concurrent requests are executing. Ignored if fair_scheduler_config_path and llama_site_path are set.
Type: int64
Default: 200
- default_pool_max_requests
- Purpose: Maximum number of concurrent outstanding requests allowed to run before incoming requests are queued. Because this limit applies cluster-wide,
but each Impala node makes independent decisions to run queries immediately or queue them, it is a soft limit; the overall number of concurrent queries might be slightly higher during times of heavy
load. A negative value indicates no limit. Ignored if fair_scheduler_config_path and llama_site_path are set.
Type: int64
Default: 200
- default_pool_mem_limit
- Purpose: Maximum amount of memory (across the entire cluster) that all outstanding requests in this pool can use before new requests to this pool are
queued. Specified in bytes, megabytes, or gigabytes by a number followed by the suffix b (optional), m, or g, either uppercase or lowercase. You can specify floating-point values for megabytes and gigabytes, to represent fractional numbers such as 1.5. You
can also specify it as a percentage of the physical memory by specifying the suffix %. 0 or no setting indicates no limit. Defaults to bytes if no unit is given.
Because this limit applies cluster-wide, but each Impala node makes independent decisions to run queries immediately or queue them, it is a soft limit; the overall memory used by concurrent queries
might be slightly higher during times of heavy load. Ignored if fair_scheduler_config_path and llama_site_path are set.
Type: string
Default: "" (empty string, meaning unlimited)
- disable_admission_control
- Purpose: Turns off the admission control feature entirely, regardless of other configuration option settings.
Type: Boolean
Default: true
- disable_pool_max_requests
- Purpose: Disables all per-pool limits on the maximum number of running requests.
Type: Boolean
Default: false
- disable_pool_mem_limits
- Purpose: Disables all per-pool mem limits.
Type: Boolean
Default: false
- fair_scheduler_allocation_path
- Purpose: Path to the fair scheduler allocation file (fair-scheduler.xml).
Type: string
Default: "" (empty string)
Usage notes: Admission control only uses a small subset of the settings that can go in this file, as described below. For details about all the Fair Scheduler configuration settings, see the Apache wiki.
- llama_site_path
- Purpose: Path to the Llama configuration file (llama-site.xml). If set, fair_scheduler_allocation_path must also be set.
Type: string
Default: "" (empty string)
Usage notes: Admission control only uses a small subset of the settings that can go in this file, as described below. For details about all the Llama configuration settings, see the documentation on Github.
- queue_wait_timeout_ms
- Purpose: Maximum amount of time (in milliseconds) that a request waits to be admitted before timing out.
Type: int64
Default: 60000
- Click Save Changes to commit the changes.
- Restart the Impala service.