You can use Docker Compose to create a multi-node Firebolt Core deployment. This is useful if you have multiple hosts that are already on the same network (for example, your home or office LAN); if you have remote machines available on Kubernetes, see Deploy using Kubernetes instead. For the purpose of this example, we will assume that the hostnames of these machines areDocumentation Index
Fetch the complete documentation index at: https://docs.firebolt.io/llms.txt
Use this file to discover all available pages before exploring further.
example-node-a and example-node-b; you can use an arbitrary number of nodes, but beware that you cannot add them later after the cluster has been started.
Configuration
On bothexample-node-a and example-node-b you will need to clone the repository:
config.json file.
Docker Compose deployments use local directory bind mounts for persistence. This means the local filesystem is the only copy of your data — there is no object storage backing. This setup is suitable for development and testing, but is not recommended for production. For production deployments, use the Kubernetes deployment with object storage configured. See Data durability for details.
firebolt-core-data, which you will need to create and assign correct permissions:
docker compose command:
Node 0 start
Run:example-node-a; this will start the first Firebolt Core node. Please note that attempting to send queries to its HTTP endpoint will return an HTTP 500 error since the cluster is not yet healthy - this is expected because the second node is not yet up and running.
Node 1 start
Run:example-node-b; this will start the second Firebolt Core node.
Further nodes
For any further node repeat the steps for node 1 and use an incrementalNODE (e.g. 2 and so on).
Querying
You can now query each node independently, directly utilizing their resources:Web UI
Each of the hosts will also have a web UI available on port9100.