Support Questions
Find answers, ask questions, and share your expertise

Recommended Queue percentage for LLAP

Contributor

I have a cluster of 15 nodes with 10 datanodes.. We already have queues in place

  • deffault -5 to 10%
  • queu1 - 40to 50%
  • queu2 - 25-35%
  • queu3 - 30-40%

Now we would like to enable LLAP what is the recommended queue for LLAP and Recommended percentages for that queue?

4 REPLIES 4

Re: Recommended Queue percentage for LLAP

Hi @Sudheer Velagapudi

It depends on the data which you are processing in each queue and data which will be processed in LLAP. Could you inform the frequency, priority and data load which will be taking place in LLAP?

Re: Recommended Queue percentage for LLAP

Contributor

We don't have anything in the cluster yet. We are planning to use Queue3 for now and we can reallocate the percentage of resources when we really start using LLAP. Just asking is there any recommendation about minimum resource allocation...

Re: Recommended Queue percentage for LLAP

Cloudera Employee

@Sudheer, when you enable LLAP, the default queue should be changed to LLAP queue and the default % for LLAP queue is 93% (you can this when in yarn queue manager view, after enabling LLAP).

Re: Recommended Queue percentage for LLAP

Rising Star

@Sudheer Velagapudi

- You have provided information that the cluster in reference has "15 nodes with 10 datanodes". For LLAP, as it is a YARN app, the number of Node Managers (NM) is of importance and the size/memory of each NM matters.

- Further, queue percentages would be helpful only if you have provided the NM sizes, as it all boils down to the memory that LLAP will end up getting being part of the selected queue (which indirectly tells up the NM's getting used).

- Recommended is typically based on the performance and the load expected on the LLAP nodes.

However, based on the current information at hand, I can provide pointers on how much is the minimum typically set from Ambari perspective, if Ambari ends up creating the queue named ('llap'). Ambari creates 'llap' named queue to be used by LLAP app only is there is only one queue at root level named 'default' and is consuming 100% of the capacity. Else, user has to create/select the queue to be used for LLAP, as in you case here.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Starting with minimum required for queue capacity (shown below), one can increase the queue size in order to add up the LLAP nodes in the cluster, as queue size is one of the primary drivers of how many Node Managers nodes will be running LLAP.

Reference code for calculating minimum queue size.

We typically set it based on following calculations. The calculations for queue used for LLAP used the following config values as referenced from Ambari UI :

- Total Node Manager nodes in Ambari cluster (NMCount). Can be got from Ambari's YARN page.

- YARN Node Manager Size (YarnNMSize) (yarn-site/yarn.nodemanager.resource.memory-mb)

- YARN minimum container size (YarnMinContSize) (yarn-site/yarn.scheduler.minimum-allocation-mb)

- Slider AM container size (SliderAmSize) (hive-interactive-env/slider_am_container_mb). It is calculated as shown here.

- Hive Tez Container Size (HiveTezContSize) (hive-interactive-site/hive.tez.container.size)

- Tez AM container size (TezAmContSize) (tez-interactive-site/tez.am.resource.memory.mb)

NormalizeUp() function is used to normalize the 1st parameter w.r.t. 2nd parameter (YarnMinContSize). Code reference is here, where the snippet function can be used for calculating by putting in a python file and called with correct params, or doing a manual calculation.

Min. Total capacity required for queue to run LLAP (MinCapForLlapQueue) = NormalizeUp(SliderAmSize, YarnMinContSize) + 
                                                NormalizeUp(HiveTezContSize, YarnMinContSize) + 
                                                NormalizeUp(TezAmContSize, YarnMinContSize)

Total Cluster Capacity (ClusterCap) = NMCount * YarnNMSize

Min. Queue Percentage Required for queue used for LLAP (in %) (MinQueuePerc) = MinCapForLlapQueue * 100 / ClusterCap

Thus, 'MinQueuePerc' value can used to set the queue size to be used for LLAP app.

Hope this helps.