Hive on Tez configurations

Understanding key Hive on Tez properties might help you tune performance or troubleshoot problems, such as running multiple TEZ Application Master (AM) when your default sessions configuration allows running only one. After upgrading, the number of default sessions allowed might be only one. Making Hive on Tez configuration changes is recommended for users who know what they are doing.

Property and Default Value Description How to Check and Configure
hive.server2.tez.default.queues (default: "default") A list of comma separated values corresponding to YARN queues for which to maintain a Tez session pool Use the Cloudera Manager Safety Valve. When specifying additional queues, they must already exist in YARN.
hive.server2.tez.sessions.per.default.queue (default:1)

The number of Tez sessions (DAGAppMaster) to maintain in the pool per YARN queue

The total number of concurrent Tez session running can be calculated with:

(Tez Sessions)total = HiveServer2instances x (default.queues) x (sessions.per.default.queue)

The pooled Tez Sessions are always running, even on an idle cluster.

Use the Cloudera Manager Safety Valve. A value of 1 means only one query can run at a time
hive.server2.tez.initialize.default.sessions (default: false) If enabled, HiveServer (HS2), at startup, will launch all necessary Tez sessions within the specified default.queues to meet the sessions.per.default.queue requirements.

Disable this property if you want to improve query performance and do not want to limit all the queries to the same Tez AM pool.

You can enable this property and increase the sessions.per.default.queue value based on your resource availability and query concurrency/load on the server.

Use the Cloudera Manager Safety Valve.