You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Swapan Shridhar (JIRA)" <ji...@apache.org> on 2016/05/18 23:20:12 UTC

[jira] [Commented] (AMBARI-16720) Update calculation logic for LLAP configs.

    [ https://issues.apache.org/jira/browse/AMBARI-16720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15290071#comment-15290071 ] 

Swapan Shridhar commented on AMBARI-16720:
------------------------------------------

Trunk commit : 
{code}
commit e30a3c086d231bdcac6c0bc12f4e1cf126d55052
Author: Swapan Shridhar <ss...@hortonworks.com>
Date:   Tue May 17 18:36:20 2016 -0700

    AMBARI-16720. Update calculation logic for LLAP configs. AMBARI-16722. Change 'Number of LLAP Daemons', 'In-Memory Cache per Daemon', 'Maximum CPUs per Daemon' to be a 'Text Box' and 'YARN Memory per Daemon' to be a 'Label' instead of 'Slider'.
{code}

branch-2.4 commit : 
{code}
commit 8c10a51f62091775578f57f33b3b8cb81754be15
Author: Swapan Shridhar <ss...@hortonworks.com>
Date:   Wed May 18 16:13:08 2016 -0700

    AMBARI-16720. Update calculation logic for LLAP configs. AMBARI-16722. Change 'Number of LLAP Daemons', 'In-Memory Cache per Daemon', 'Maximum CPUs per Daemon' to be a 'Text Box' and 'YARN Memory per Daemon' to be a 'Label' instead of 'Slider'.
{code}


> 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)