[ 
https://issues.apache.org/jira/browse/AMBARI-16720?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Swapan Shridhar updated AMBARI-16720:
-------------------------------------
    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

> Update calculation logic for LLAP configs.
> ------------------------------------------
>
>                 Key: AMBARI-16720
>                 URL: https://issues.apache.org/jira/browse/AMBARI-16720
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.4.0
>            Reporter: Swapan Shridhar
>            Assignee: Swapan Shridhar
>             Fix For: 2.4.0
>
>         Attachments: AMBARI-16720.patch
>
>
> Following properties can/will get updated based on what triggered the 
> calculation.
> - LLAP concurrency - 
> hive-interactive-site/hive.server2.tez.sessions.per.default.queue
> - Number of LLAP nodes used - hive-interactive-env/num_llap_nodes
> - LLAP YARN container Size (in MB) - 
> hive-interactive-site/hive.llap.daemon.yarn.container.mb
> - Number of Executors in container - 
> hive-interactive-site/hive.llap.daemon.num.executors
> - Cache Per node - hive-interactive-site/hive.llap.io.memory.size
> - Property related to cache calculation above - 
> hive-interactive-site/hive.llap.io.enabled
> - LLAP Heap size per node - hive-interactive-env/llap_heap_size
> - Slider App Master Container Size - 
> hive-interactive-env/slider_am_container_size
> The trigger point for updating LLAP configs (mentioned above) is change in 
> values of any of the following:
> (1). 'enable_hive_interactive' set to 'true' 
> (2). 'llap_queue_capacity' 
> (3). 'hive.server2.tez.sessions.per.default.queue'
> (4). 'llap' named queue getting selected for config 
> 'hive.llap.daemon.queue.name' and only 2 queues exist ('llap' and 'default') 
> at root level.
> - If change in value for 'llap_queue_capacity' or 
> 'hive.server2.tez.sessions.per.default.queue' is detected, that config
> value is not calulated, but read and use in calculation for dependent configs.
> - If at any point of time, calulation cant be done (mostly because dependent 
> config can't be retrieved or LLAP queue capacity is not good enough), the 
> value for configs are set to their minimum or default values. A user can 
> retrigger the calulation by sliding the "% of cluster capacity" slider.
> Brief on calculations is as follows :
> - LLAP concurrency:
> {code}
> Calculated if this is not the driver for calculation, otherwise current value 
> is read.
> = 25% of LLAP queue size / 'Tez AM container Size' based on YARN min 
> container size 
> {code}
> - Slider App Master Container Size:
> {code}
> = Calcuclated value lies b/w 256-1024 MB based on it's own value and YARN min 
> container size. 
> total_am_capacity_required = normalized value of 'tez_am_container_size' 
> based on YARN min container size * llap_concurrency + Slider App Master 
> Container Size
> cap_available_for_daemons = total_llap_queue_size - total_am_capacity_required
> {code}
> - Number of LLAP nodes used:
> {code}
> = Normalized value of 'cap_available_for_daemons / yarn_nm_mem_in_mb' based 
> on YARN min container size.
> {code}
> - LLAP YARN container Size:
> {code}
> if Number of LLAP nodes used < 1.00: 
>   = Normalized value of 'cap_available_for_daemons' based on YARN min 
> container size.
> else
>   = Normalized value of 'yarn_nm_mem_in_mb' based on YARN min container size.
> {code}
> - Number of Executors in container:
> {code}
> = minimum (LLAP YARN container Size / hive_tez_container_size, Number of 
> CPU's per Node Manager Host).
> total Mem for Executors = Number of Executors in container * Read value of 
> hive_tez_container_size
> {code}
> - Cache Per node :
> {code}
> = LLAP YARN container Size - total Mem for Executors.
> hive-interactive-site/hive.llap.io.enabled set to 'false' if 'Cache Per node' 
> < 64, else 'true'.
> {code}
> - LLAP Heap size per node:
> {code}
> = maximum (total Mem for Executors * 0.8, total Mem for Executors - 1024)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to