Deployment #
Pizza ships as a single statically-linked binary — copy it, give it a data
directory, run it. This page covers the deployment shapes; for the full
configuration key reference see
configuration
and
pizza.yml reference.
Single node #
The default pizza.yml runs a self-contained node: metadata catalog, shards
and the HTTP API in one process.
./pizza -c pizza.yml
Data lives under path.data (default ./data). The binary needs no external
services — no ZooKeeper, no external metastore.
Multiple instances on one machine #
Each instance needs a distinct API port, data directory and advertise address. The configuration reference documents the detection rules; in short, pass them explicitly:
./pizza -c pizza.yml \
-E api.port=28001 \
-E path.data=./data-2 \
-E cluster.region.advertise_addr=127.0.0.1:9301
Multi-node cluster #
Run one node, then join the rest with a join token minted on the first node:
curl -X POST -H "Authorization: Bearer $KEY" \
-H 'Content-Type: application/json' \
-d '{"note": "bootstrap worker"}' \
http://seed:28000/_cluster/join_token
Start additional nodes with the returned token and the seed address; the cluster management reference has the full workflow. Replication and resharding then require no further action — see sharding.
Systemd unit #
[Unit]
Description=Pizza search node
After=network-online.target
[Service]
ExecStart=/opt/pizza/pizza -c /etc/pizza/pizza.yml
Restart=on-failure
LimitNOFILE=65535
# NUMA: pin the node to one socket on multi-socket hosts
# numactl --cpunodebind=0 --membind=0 /opt/pizza/pizza -c /etc/pizza/pizza.yml
[Install]
WantedBy=multi-user.target
Pizza is share-nothing per CPU — prefer one process per NUMA socket over one big process on multi-socket machines (see architecture).
Upgrades and rollback #
- Replace the binary and restart; on-disk formats are forward-compatible within a minor series (see release notes).
- The startup gate keeps the node answering 503 (with phase detail) until
recovery completes — put
/or/_node/_local/readybehind your load balancer health check. - For a full discussion of backup and restore (Raft snapshots, trash) see backup.