Solution:
If your
tez.ampool.am-pool-size
,tez.ampool.max-am-pool-size
, andyarn.app.mapreduce.am.lazy.prealloc-container-count
parameters are incorrectly configured, the AMs will fail to launch because these parameters affect the cluster resources utilized by the Tez Service.The
tez.ampool.am-pool-size
parameter determines the minimum number of YARN containers utilized and is equal to the number of Tez AMs launched.Each Tez AM, in turn, will allocate at the most N containers where N is defined by
yarn.app.mapreduce.am.lazy.prealloc-container-count
.The above two together define the resource utilization and therefore should be set carefully to ensure that the Tez Service does not occupy all the resources in your cluster.
We recommend that you configure these parameters such that they should be 20% of your cluster resources.
On the Tez Service host machine, edit
tez-ampool-site.xml
and reduce the values for the following properties:<property> <name>tez.ampool.am-pool-size</name> <value>3</value> <description>Minimum size of AM Pool.</description> </property>
<property> <name>tez.ampool.max.am-pool-size</name> <value>5</value> <description>Maximum size of AM Pool.</description> </property>
On all the client nodes and the Tez Service host machine, edit
lazy-mram-site.xml
and reduce the values for the following property:<property> <name>yarn.app.mapreduce.am.lazy.prealloc-container-count</name> <value>1</value> <description>Number of containers to pre-allocate after starting up. To use preallocation, the value for this property must be set to a non-zero value.</description> </property>