Multi-node configuration
Clustron Zaris runs a store across multiple nodes, either on one server or spread across several. This page explains the two topologies, how -PartitionsPerNode and -ReplicationFactor map nodes to servers, and how to choose the right layout. Get the topology right at creation time — it determines capacity, fault tolerance, and how ports are assigned.
The two topologies
Zaris supports two common layouts. The difference is whether the nodes run on one machine or on several.
Single server, multiple nodes
One server runs a single manager and several node processes. You control how many with -PartitionsPerNode (multiplied by the replication factor). Use this for local development and for testing distributed behavior without extra machines.
Server
├── Manager (7801)
├── <host>-n0 (7811 / 7861)
└── <host>-n1 (7812 / 7862)
Create it by setting -PartitionsPerNode to the number of partitions you want per machine:
New-ZrStore `
-Name TestStore `
-PartitionsPerNode 2 `
-ReplicationFactor 1 `
-BaseClusterPort 7811 `
-BaseClientPort 7861
Each server runs PartitionsPerNode × ReplicationFactor node processes, so this example produces two processes on the one machine.
Multiple servers
Each server runs its own manager and its share of the store's partitions and replicas. Use this for production, for capacity beyond one machine, and for fault tolerance — losing one server does not take the whole store down.
Server 10.0.0.11 → Manager + 10.0.0.11-n0
Server 10.0.0.12 → Manager + 10.0.0.12-n0
Server 10.0.0.13 → Manager + 10.0.0.13-n0
First activate a workspace over every manager, then create the store once. With the default -PartitionsPerNode 1, each server runs its share:
New-ZrWorkspace prod @('10.0.0.11:7801','10.0.0.12:7801','10.0.0.13:7801') -Activate
New-ZrStore `
-Name TestStore `
-ReplicationFactor 2 `
-BaseClusterPort 7811 `
-BaseClientPort 7861
The workspace must include every manager before you create the store. New-ZrStore computes the layout from the live membership and creates each server's nodes, so a manager you left out of the workspace never receives its nodes. Keep -ReplicationFactor no greater than the number of servers, so each replica lands on a distinct machine.
How nodes and ports are assigned
Two rules govern the generated topology.
- Node names follow the pattern
<serverHost>-n<index>, numbered from0on each server — the server10.0.0.11yields10.0.0.11-n0,10.0.0.11-n1, and so on. There is no name-prefix parameter; the names are derived from each manager's host. - Ports start at
-BaseClusterPortand-BaseClientPortand increment for each additional node process on the same server. A single process per server reuses the same base ports on each machine, because each server has its own address.
The total node count is the number of servers in the workspace multiplied by -PartitionsPerNode × -ReplicationFactor.
Choose the right topology
| Scenario | Recommended topology |
|---|---|
| Local development and testing | Single server, multiple partitions per node |
| Small production deployment | One partition per node, a few servers, -ReplicationFactor 2 |
| Higher capacity | Multiple servers, scale out by adding servers |
| Fault tolerance required | Multiple servers, -ReplicationFactor ≤ server count |
Common mistakes
Three configuration errors account for most multi-node problems.
| Mistake | Consequence | Fix |
|---|---|---|
| Running more than one manager on a server | Conflicting control plane on that machine | Run exactly one manager per server |
-PartitionsPerNode too high for one machine | Incrementing ports collide; nodes fail to start | Lower -PartitionsPerNode, or widen the port ranges |
-ReplicationFactor greater than the server count | Replicas share machines, so a server loss can lose data | Keep -ReplicationFactor ≤ number of servers in production |
Not including all managers in the workspace before New-ZrStore | Some servers never receive their nodes | Activate a workspace with every manager, verify with Get-ZrWorkspace, then create |
Next steps
- Ports and networking — the port ranges each topology needs open.
- View store information — confirm every server received its nodes.
- Start and stop stores — bring the cluster up.