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] [Updated] (AMBARI-5077) Provision a cluster from a an Ambari Blueprint
Date Thu, 13 Mar 2014 22:21:42 GMT

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

John Speidel updated AMBARI-5077:
---------------------------------

    Description: 
Allow a cluster to be fully provisioned via the Ambari REST API with a single REST API call
by specifying a blueprint name.  This means that from a single, simple REST API call a cluster
can now be fully provisioned (0->INIT->INSTALLED->STARTED).

*The process to provision a cluster via the REST API using blueprints is as follows:*
* Create a blueprint resource instance on the Ambari instance which is going to be used to
provision the cluster.  The blueprint may have been hand created or exported from a running
cluster.  

POST myAmbariServer:8080/api/v1/blueprints/single-node-test
{code}
{
  "host_groups" : [
    {
      "name" : "host_group_1",
      "components" : [
        {
          "name" : "HISTORYSERVER"
        },
        {
          "name" : "JOBTRACKER"
        },
        {
          "name" : "NAMENODE"
        },
        {
          "name" : "OOZIE_SERVER"
        },
        {
          "name" : "NAGIOS_SERVER"
        },
        {
          "name" : "SECONDARY_NAMENODE"
        },        
        {
          "name" : "AMBARI_SERVER"
        },
        {
          "name" : "GANGLIA_SERVER"
        },
        {
          "name" : "GANGLIA_MONITOR"
        },
         {
          "name" : "DATANODE"
        },
        {
          "name" : "TASKTRACKER"
        },
        {
          "name" : "HDFS_CLIENT"
        },
        {
          "name" : "MAPREDUCE_CLIENT"
        },
        {
          "name" : "OOZIE_CLIENT"
        },
        {
          "name" : "GANGLIA_MONITOR"
        }
      ],
      "cardinality" : "1"
    }
  ],
  "Blueprints" : {
    "blueprint_name" : "single-node-test",
    "stack_name" : "HDP",
    "stack_version" : "1.3.3"
  }
}
{code}
** For more information on exporting a blueprint see: https://issues.apache.org/jira/browse/AMBARI-4786
 
** For more information on the blueprint resource see: https://issues.apache.org/jira/browse/AMBARI-4467

* Invoke a POST on the cluster endpoint and specify the blueprint related information.  Host
information must be provided for each host group being deployed in the cluster.  Each host
specified will run the components associated with the host group.  The host group names specified
in the request must match a host group in the specified blueprint.

POST myAmbariServer:8080/api/v1/clusters/c1
{code}
{
  "blueprint" : "single-node-test",
  "host-groups" :[
    { 
      "name" : "host_group_1",  
      "hosts" : [          
        { 
          "fqdn" : "myHost.novalocal", 
          "ip" : "172.18.192.3" 
        }
      ]
    }
  ] 
{code}
Some limitations in this change which will be addressed shortly in other patches:
* configuration information included in the blueprint will not be processed meaning that the
cluster will be provisioned with default configurations
* Ambari Agent must be running and have registered with the server on all hosts in the cluster
prior to invoking the REST API to provision the cluster

  was:
Allow a cluster to be fully provisioned via the Ambari REST API with a single REST API call
by specifying a blueprint name.

In addition to the blueprint name, host information for each host group being deployed should
be specified. 

The process to provision a cluster via the REST API using blueprints is as follows:
- Create a blueprint resource instance on the Ambari instance which is going to be used to
provision the cluster.  The blueprint may have been hand created or exported from a running
cluster.  

POST myAmbariServer:8080/api/v1/blueprints/single-node-test
{code}
{
  "host_groups" : [
    {
      "name" : "host_group_1",
      "components" : [
        {
          "name" : "HISTORYSERVER"
        },
        {
          "name" : "JOBTRACKER"
        },
        {
          "name" : "NAMENODE"
        },
        {
          "name" : "OOZIE_SERVER"
        },
        {
          "name" : "NAGIOS_SERVER"
        },
        {
          "name" : "SECONDARY_NAMENODE"
        },        
        {
          "name" : "AMBARI_SERVER"
        },
        {
          "name" : "GANGLIA_SERVER"
        },
        {
          "name" : "GANGLIA_MONITOR"
        },
         {
          "name" : "DATANODE"
        },
        {
          "name" : "TASKTRACKER"
        },
        {
          "name" : "HDFS_CLIENT"
        },
        {
          "name" : "MAPREDUCE_CLIENT"
        },
        {
          "name" : "OOZIE_CLIENT"
        },
        {
          "name" : "GANGLIA_MONITOR"
        }
      ],
      "cardinality" : "1"
    }
  ],
  "Blueprints" : {
    "blueprint_name" : "single-node-test",
    "stack_name" : "HDP",
    "stack_version" : "1.3.3"
  }
}
{code}
For more information on exporting a blueprint see: https://issues.apache.org/jira/browse/AMBARI-4786
 For more information on the blueprint resource see: https://issues.apache.org/jira/browse/AMBARI-4467

- Invoke a POST on the cluster endpoint and specify the blueprint related information.  Host
information must be provided for each host group being deployed in the cluster.  Each host
specified will run the components associated with the host group.  The host group names specified
in the request must match a host group in the specified blueprint.

POST myAmbariServer:8080/api/v1/clusters/c1
{code}
{
  "blueprint" : "single-node-test",
  "host-groups" :[
    { 
      "name" : "host_group_1",  
      "hosts" : [          
        { 
          "fqdn" : "myHost.novalocal", 
          "ip" : "172.18.192.3" 
        }
      ]
    }
  ] 
{code}
Some limitations in this change which will be addressed shortly in other patches:
- configuration information included in the blueprint will not be processed meaning that the
cluster will be provisioned with default configurations
- Ambari Agent must be running and have registered with the server on all hosts in the cluster
prior to invoking the REST API to provision the cluster


> Provision a cluster from a an Ambari Blueprint
> ----------------------------------------------
>
>                 Key: AMBARI-5077
>                 URL: https://issues.apache.org/jira/browse/AMBARI-5077
>             Project: Ambari
>          Issue Type: Improvement
>            Reporter: John Speidel
>            Assignee: John Speidel
>             Fix For: 1.5.0
>
>
> Allow a cluster to be fully provisioned via the Ambari REST API with a single REST API
call by specifying a blueprint name.  This means that from a single, simple REST API call
a cluster can now be fully provisioned (0->INIT->INSTALLED->STARTED).
> *The process to provision a cluster via the REST API using blueprints is as follows:*
> * Create a blueprint resource instance on the Ambari instance which is going to be used
to provision the cluster.  The blueprint may have been hand created or exported from a running
cluster.  
> POST myAmbariServer:8080/api/v1/blueprints/single-node-test
> {code}
> {
>   "host_groups" : [
>     {
>       "name" : "host_group_1",
>       "components" : [
>         {
>           "name" : "HISTORYSERVER"
>         },
>         {
>           "name" : "JOBTRACKER"
>         },
>         {
>           "name" : "NAMENODE"
>         },
>         {
>           "name" : "OOZIE_SERVER"
>         },
>         {
>           "name" : "NAGIOS_SERVER"
>         },
>         {
>           "name" : "SECONDARY_NAMENODE"
>         },        
>         {
>           "name" : "AMBARI_SERVER"
>         },
>         {
>           "name" : "GANGLIA_SERVER"
>         },
>         {
>           "name" : "GANGLIA_MONITOR"
>         },
>          {
>           "name" : "DATANODE"
>         },
>         {
>           "name" : "TASKTRACKER"
>         },
>         {
>           "name" : "HDFS_CLIENT"
>         },
>         {
>           "name" : "MAPREDUCE_CLIENT"
>         },
>         {
>           "name" : "OOZIE_CLIENT"
>         },
>         {
>           "name" : "GANGLIA_MONITOR"
>         }
>       ],
>       "cardinality" : "1"
>     }
>   ],
>   "Blueprints" : {
>     "blueprint_name" : "single-node-test",
>     "stack_name" : "HDP",
>     "stack_version" : "1.3.3"
>   }
> }
> {code}
> ** For more information on exporting a blueprint see: https://issues.apache.org/jira/browse/AMBARI-4786
 
> ** For more information on the blueprint resource see: https://issues.apache.org/jira/browse/AMBARI-4467
> * Invoke a POST on the cluster endpoint and specify the blueprint related information.
 Host information must be provided for each host group being deployed in the cluster.  Each
host specified will run the components associated with the host group.  The host group names
specified in the request must match a host group in the specified blueprint.
> POST myAmbariServer:8080/api/v1/clusters/c1
> {code}
> {
>   "blueprint" : "single-node-test",
>   "host-groups" :[
>     { 
>       "name" : "host_group_1",  
>       "hosts" : [          
>         { 
>           "fqdn" : "myHost.novalocal", 
>           "ip" : "172.18.192.3" 
>         }
>       ]
>     }
>   ] 
> {code}
> Some limitations in this change which will be addressed shortly in other patches:
> * configuration information included in the blueprint will not be processed meaning that
the cluster will be provisioned with default configurations
> * Ambari Agent must be running and have registered with the server on all hosts in the
cluster prior to invoking the REST API to provision the cluster



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message