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

Eric Yang commented on AMBARI-1783:
-----------------------------------

OpenJDK is not a service.  It is a package instead of a service.  Firewall 
could be an example of isManageable service.  How about simplify the cluster 
blue print, software stack definition and host manifest?  A cleaner version 
would be:

Cluster blueprint:

{code}
{ 
  "version": "1.3.0",
  "cluster": {
    "name": "example",
    "services": [
      {
        "name": "filesystem",
        "components": [ "hdfs" ],
      },
      {
        "name": "firewall",
        "components": [ "iptables" ],
        "isManageable": "false"
      }
    ],
    "applications": [
      {
        "name": "my hadoop killer app",
        "components": [ "text-analytics" ],
        "isManageable": "false"
      }
    ],
    "environment": {
      "fs.default.name": "hdfs://localhost:50070/",
      "HADOOP_NAMENODE_OPTS": { "value": "-Xmx5G", "file": "hadoop-env.sh" }
    }
  }
}
{code}

Software stack example:

{code}
{
  "software": {
    "repository": [
      {
        "name": "local",
        "url": "file:///image"
      }
    ],
    "platform": "x86_64",
    "osType": "el6",
    "components": [
      {
        "name":"glusterfs",
        "conflicts": [ "hdfs" ],
        "provides" : "filesystem",
        "packages": [
          {
            "name":"glusterfs",
            "version":"4.3",
            "filename":"gluster-4.3.el6.x86_64.rpm",
            "hostGroup": [ "node" ]
          }
        ]
      },
      {
        "name":"hdfs",
        "conflicts": [ "glusterfs" ],
        "provides" : "filesystem",
        "packages": [
          {
            "name":"java",
            "version":"1.7",
            "filename":"java-1.7.el6.x86_64.rpm"
          },
          {
            "name":"hadoop",
            "version":"1.2.0",
            "filename":"hadoop-1.2.0.el6.x86_64.rpm",
            "dependency":"java"
            "hostGroup": [ "namenode", "secondarynamenode", "datanode" ]
          }
        ]
      },
      {
         "name":"text-analytics",
         "packages": [
           {
             "name":"hadoop",
             "version":"1.2.0",
             "text-analytics-1.2.0.el6.x86_64.rpm"
             "dependency":"filesystem"
           }
         ]
      }
    ]
  }
}
{code}

Host manifest:

{code}
{
  "namenode": [ "nn1" ],
  "secondarynamenode": [ "snn1" ],
  "datanode": [ "dn1", "dn2", "dn3" ]
}
{code}

Notice in cluster blueprint, the new addition section of applications is 
designed to deploy application in the hadoop environment (HDFS) or virtual 
environment, there is no local copy stored in local file system.  The running 
environment is a flatten list of key value pairs, this is designed to make it 
easier for dev ops to manage the running environment more easily.  The 
additional overwrite to environment allows to set a specific value for a 
particular config file.  Host manifest is a flatten list of hostGroups for user 
friendliness for dev ops.  Conflict, and provide syntax can support swappable 
component for Hadoop software stack.
                
> Specification for a cluster blueprint consumable by Ambari
> ----------------------------------------------------------
>
>                 Key: AMBARI-1783
>                 URL: https://issues.apache.org/jira/browse/AMBARI-1783
>             Project: Ambari
>          Issue Type: New Feature
>    Affects Versions: 1.3.1
>            Reporter: Sumit Mohanty
>            Assignee: Sumit Mohanty
>             Fix For: 1.3.1
>
>         Attachments: Ambari-BluePrint-0.3.docx, Ambari-BluePrint-0.4.docx, 
> HostComponentMapping.txt, HostManifest.txt, PackageConfiguration.txt, 
> PackageDefinition.txt, Sample_Deployment1_HDPStack_1_3_0_Configuration.txt, 
> Sample_Deployment1_HostComponentMapping.txt, 
> Sample_Deployment1_HostManifest.txt, Sample_HDPStack_1_3_0_Definition.txt, 
> Schema_HostComponentMapping.txt, Schema_HostManifest.txt, 
> Schema_PackageConfiguration.txt, Schema_PackageDefinition.txt
>
>
> Deployment of a hadoop cluster can be modeled as the mapping of a stack 
> definition to a set of host while satisfying placement constraints. A stack 
> definition refers to the description of various services that comprise a 
> hadoop stack (e.g. HDP-1.2.1), components associated with the services, and 
> configuration properties. A set of available hosts is specified through a 
> host-manifest that lists the available hosts and relevant 
> properties/characteristics of each host. A cluster blueprint is specification 
> of a hadoop stack mapped to a set of hosts. Mapping to a host can be a direct 
> mapping - e.g. deploy this component X on host Y or a host can be specified 
> as a set of requirements which is used to select the most appropriate host(s) 
> from a host-manifest.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to