Skip to main content
Version: 3.1.0 (Preview)

Multi-cluster Architecture

Ambari can manage several independent clusters through one Server and metadata database. A cluster owns its services, host assignments, configurations, requests and permissions. Operators can optionally connect a new HBase deployment to managed HDFS and ZooKeeper services in other clusters.

This guide describes the implementation merged in AMBARI-26656 / PR #4216, checked against trunk fc07b5cb873dc154c48349085494e664baf6b9d1 on 2026-09-22. It belongs to the 3.1.0 preview documentation; it is not a released-version support certificate. See Source Baseline.

Start with Creating and Using Clusters, then Managed HBase Dependencies and Operations and Recovery.

Control Plane And Cluster Boundaries​

Hand-drawn multi-cluster architecture showing two URL-scoped browser tabs, a shared Ambari Server and database, and separately owned Agent hosts

The drawing uses two independent clusters with local service dependencies. Both sets of Agents register with the same Ambari Server. The Server dispatches tasks to the appropriate hosts and persists each request's owning cluster. Sharing a Server does not merge the two HDFS namespaces or ZooKeeper ensembles.

BoundaryWhat it means
Server and databaseShared management availability, upgrade and backup scope. Multi-cluster management does not introduce Server high availability.
ClusterIndependent service deployment, desired configuration, authorization and operation scope.
HostRegistered but unassigned, or assigned to exactly one runtime cluster. One host cannot simultaneously run as a member of both clusters.
ServiceDeployment identity is the pair (cluster_id, service_name); HBase in A and HBase in B are different deployments.
Managed dependencyAn explicit consumer/provider relationship. The provider retains service lifecycle and data ownership.
Remote Cluster registrationA separate existing integration for remote cluster references. It does not import another Server's hosts into this runtime or federate its lifecycle management.

A Server outage affects management for every cluster. Service daemons have their own availability mechanisms; do not assume either that they all stop or that every operation remains available during a Server outage. If clusters share an HDFS or ZooKeeper provider, a provider outage also affects its consumers.

Route And Authorization Isolation​

Operational URLs include the cluster name:

/latest/#/clusters/analytics-a/main/hosts
/latest/#/clusters/analytics-b/main/services/HBASE/summary
/latest/#/clusters
/latest/#/services

/api/v1/clusters/analytics-a/services/HBASE
/api/v1/clusters/analytics-b/services/HBASE

The last two browser routes are global authorized directories. Selecting a service establishes its cluster in the URL. Separate tabs can inspect different clusters without using a global selected-cluster value as authority.

React keys its runtime by authenticated user and route scope. Cluster switches invalidate old requests, caches, polling and event consumers before they can update the new screen. A last-used numeric cluster preference is only a navigation hint; the Server's current authorization and cluster inventory must validate it.

Server authorization remains the security boundary. AMBARI-scoped grants apply globally; CLUSTER-scoped grants apply to the named cluster. Being a cluster administrator does not grant Ambari administration. Server-side STOMP authorization/projection restricts event delivery, and request/task reads validate actual ownership. Browser filtering alone cannot protect another cluster's information.

Persistent Identity And Recovery​

IdentityPurpose
Numeric cluster IDStable cluster identity across rename; names remain in compatible REST paths.
Creation draft UUIDIdentifies one installation intent, its owner and the exact cluster created from it.
Workflow scope and revisionSeparates installer drafts and cluster workflows; rejects obsolete writes instead of overwriting another session's checkpoint.
Binding UUIDIdentifies one managed HDFS or ZooKeeper relationship and its private namespace.
Snapshot version and fingerprintsIdentify approved provider/client configuration and consumer topology/security inputs.
Operation ID and epochAssociate an attempt and exclude stale work from an earlier operation.
Deployment UUID and attempt IDPersist the installation/start/check workflow independently of a browser session.
Request, task and host IDsTie execution results to the exact scheduled work and authorized host.

Creation submits creation_draft_id. If a create response is lost, recovery checks the saved draft-to-cluster association. A matching cluster name is not sufficient proof that the current draft created it. Creation does not delete existing clusters or shared repository definitions.

The database enforces exclusive host membership. The upgrade path detects duplicate historical memberships and stops for explicit remediation; it does not silently select an owner. Back up and resolve ambiguous ownership before retrying an upgrade.

Shared Services Without Shared Ownership​

A managed HBase deployment may select HDFS for storage and ZooKeeper for coordination independently. Each binding persists the provider's numeric identity, a reviewed configuration snapshot, a private namespace and operation history.

Provider settings enter an allowlisted, HBase-specific client overlay. The consumer retains its own Hadoop configuration and does not receive the provider's administrative credentials. Client installation, credential work and connectivity checks run against the exact current plan.

A binding becoming ready is distinct from a deployment completing. The Server coordinates provider preparation, consumer installation, dependency verification, HBase Start and service checks. Refresh reads the same deployment instead of launching replacement work. See the binding and readiness walkthrough.

Implementation Map​

LayerSource and responsibility
Browser navigationReact routes and cluster directory: explicit cluster context, authorized discovery and draft resume.
AdministrationAdmin routes: cluster overview, host resources, permissions and repository navigation.
Host membershipHost membership upgrade: exclusive ownership and migration checks.
Dependency approvalManaged service coordinator: authorization, preview, snapshots, binding mutations and operation lineage.
Deployment recoveryDeployment coordinator: persistent install, readiness, start and service-check progression.
Start and lifecycle gatesReadiness policy and lifecycle policy: current evidence, impact confirmation and delete protection.
Agent-side executionManaged HBase scripts: structured observations, private client configuration and verification.

The scripts' inherited source directory includes BIGTOP/3.2.0; that directory name is not the managed dependency compatibility contract. The current validator requires active BIGTOP 3.3.0 repositories and matching resolved version metadata.

Evidence And Remaining Qualification​

The historical implementation and runtime record contains separate checkpoints:

ScenarioRecorded evidenceLimit
Two independent clusters, local HBase dependenciesSix-host native RPM deployment at source 1ab17a10ea333e35d9952666d57d8f4383762103; distinct HBase identities, service checks, foreign-user denials and duplicate-host rejection.Historical source/package acceptance, not a new deployment of the current trunk.
Cross-cluster managed HBaseA deployment reached complete with both bindings ready and an SDK Put/Get service check.Used an earlier RPM plus documented file/class overlays; do not describe it as the final clean-package acceptance.
Admin workflowsRecorded browser/API checks for overview, host ownership, draft resume, grants, rename and deletion.Not an exhaustive role, proxy or browser matrix.
Remaining fault/security scenariosSource and focused regression coverage exist.Real KDC callbacks, managed provider stop/delete/detach retention, every crash/drop boundary and complete broker revocation matrix still need qualification.

Website build and browser tests validate these documents and images. They do not establish cluster runtime acceptance.