Skip to main content
Version: 3.1.0 (Preview)

Defining a Custom Stack and Services

A stack is assembled from a version directory containing metainfo.xml, services, configuration, repositories, and optional upgrade metadata. Start with a unique stack name and version, then add only the files required by the stack. The current BIGTOP layout is under ambari-server/src/main/resources/stacks/BIGTOP/3.2.0.

Stack Assembly

Define the stack descriptor and its active version. Add service descriptors under services/<SERVICE>, package scripts under the service package directory, and configuration XML under the service configuration directory. A stack may reference common service definitions where the loader supports that relationship; verify the assembled result rather than relying on directory names alone.

Inheritance and Providers

Stack inheritance supplies supported parent files and services. Service advisors can validate component placement and recommend configuration. The BIGTOP stack includes a VictoriaMetrics service and telemetry profiles; provider-specific telemetry.json is separate from each service's retained control-plane metrics.json.

Validation

Validate descriptor identity, component categories and cardinality, command scripts, package paths, configuration dependencies, repository metadata, and service checks. Exercise install, configure, start, stop, status, custom commands, and upgrade paths on the target operating system and architecture. Do not infer production support for an architecture solely from an available build profile.

References

Use the BIGTOP stack descriptor, HDFS service, and VictoriaMetrics service as current source references.