Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • versions/active - Whether this stack-version is still available for install. If not available, this version will not show up in UI during install.
  • extends - The stack-version in this stack that is being extended. Extended stack-versions inherit services along with almost all aspects of the parent stack-version.
  • minJdk - Minimum JDK with which this stack-version is supported. Users are warned during installer wizard if the JDK used by Ambari is lower than this version.
  • maxJdk - Maximum JDK with which this stack-version is supported. Users are warned during installer wizard if the JDK used by Ambari is greater than this version.

Stack Properties

The stack must contain or inherit a properties directory which contains two files: stack_features.json and stack_tools.json.  This directory is new in Ambari 2.4.

The stack_features.json contains a list of features that are included in Ambari and allows the stack to specify which versions of the stack include those features.  The list of features are determined by the particular Ambari release.  The reference list for a particular Ambari version should be found in the HDP/2.0.6/properties/stack_features.json in the branch for that Ambari release.  Each feature has a name and description and the stack can provide the minimum and maximum version where that feature is supported.

{

  "stack_features": [

    {

      "name": "snappy",

      "description": "Snappy compressor/decompressor support",

      "min_version": "2.0.0.0",

      "max_version": "2.2.0.0"

    },

    ...

}

 

The stack_tools.json includes the name and location where the stack_selector and conf_selector tools are installed.

{

  "stack_selector": ["hdp-select", "/usr/bin/hdp-select", "hdp-select"],

  "conf_selector": ["conf-select", "/usr/bin/conf-select", "conf-select"]

}


Any custom stack must include these two JSON files.

Services

Each stack-version includes services which are either referenced from common-services, or defined inside the stack-version's services folder. 
Services are defined in common-services if they will be shared across multiple stacks. If they will never be shared, then they can be defined inside the stack-version.

...