ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Speidel (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMBARI-10776) blueprint topology validation doesn't properly handle the 'auto deploy' component dependency graph
Date Tue, 28 Apr 2015 15:19:06 GMT

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

John Speidel commented on AMBARI-10776:
---------------------------------------

This issue will result in a blueprint request being "stuck" in the PENDING state with 0% completed.
The workaround for this issue is to explicitly specify all components in your blueprint. 
In this case that means adding MYSQL_SERVER to your blueprint.

> blueprint topology validation doesn't properly handle the 'auto deploy' component dependency
graph
> --------------------------------------------------------------------------------------------------
>
>                 Key: AMBARI-10776
>                 URL: https://issues.apache.org/jira/browse/AMBARI-10776
>             Project: Ambari
>          Issue Type: Bug
>          Components: blueprints
>    Affects Versions: Ambari-2.1
>            Reporter: John Speidel
>            Assignee: John Speidel
>             Fix For: Ambari-2.1
>
>
> When a blueprint is submitted, topology validation is performed.  During this validation,
the blueprint validator ensures that the blueprint topology is valid based on the component
cardinalities specified in the stack.
> Some components are specified as being "auto-deploy" enabled in the stack.  This means
that if the component in not explicitly specified in the blueprint that it will be added according
to the information provided in the stack.  In the case where a component is added because
it wasn't explicitly specified and it is auto-deploy enabled, if it has dependencies itself,
these should be validated and this isn't occurring.
> For example, in a BP that specified HIVE_SERVER, but not HIVE_METASTORE, the metastore
component is automatically added to the blueprint because it is auto-deploy enabled.  HIVE_METASTORE
itself has a dependency on MYSQL_SERVER and because it is also auto-deploy enabled, it should
also be added to the blueprint but currently validation doesn't occur after adding HIVE_METASTORE
so it's dependencies are not validated and no auto-deploy occurs.
> This is a regression that occurred in the patch for AMBARI-10750.
> Example blueprint which demonstrates this issue:
> {code}
> {    
>   "host_groups" : [
>     {
>       "name" : "master",      
>       "components" : [       
>         {
>           "name" : "HISTORYSERVER"
>         },        
>         {
>           "name" : "AMBARI_SERVER"
>         },
>         {
>           "name" : "APP_TIMELINE_SERVER"
>         },
>         {
>           "name" : "RESOURCEMANAGER"
>         },        
>         {
>           "name" : "ZOOKEEPER_CLIENT"
>         },
>         {
>           "name" : "MAPREDUCE2_CLIENT"
>         },
>         {
>           "name" : "YARN_CLIENT"
>         },
>         {
>           "name" : "HIVE_SERVER"
>         },
>         {
>           "name" : "HIVE_CLIENT"
>         },
>         {
>           "name" : "WEBHCAT_SERVER"
>         }
>       ],
>       "cardinality" : "1"
>     },
>     {
>       "name" : "master2",      
>       "components" : [  
>         {
>           "name" : "NAMENODE"
>         },     
>         {
>           "name": "ZOOKEEPER_SERVER"
>         },
>         {
>           "name" : "SECONDARY_NAMENODE"
>         },  
>         {
>           "name" : "ZOOKEEPER_CLIENT"
>         },
>         {
>           "name" : "MAPREDUCE2_CLIENT"
>         },
>         {
>           "name" : "YARN_CLIENT"
>         }
>       ]
>     },    
>     {      
>       "name" : "slave",      
>       "components" : [
>         {
>           "name" : "NODEMANAGER"
>         },
>         {
>           "name" : "DATANODE"
>         },   
>         {
>           "name" : "YARN_CLIENT"
>         },
>         {
>           "name" : "ZOOKEEPER_CLIENT"
>         },
>         {
>           "name" : "MAPREDUCE2_CLIENT"
>         }
>       ]
>     }
>   ],
>   "Blueprints" : {
>     "stack_name" : "HDP",
>     "stack_version" : "2.2"
>   }
> }
> {code}
> After the blueprint is created you will see that HIVE_METASTORE has been added but not
MYSQL_SERVER which causes a failure during topology configuration update.



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

Mime
View raw message