Deploy a Single Node EloqKV Instance Using Eloqctl
Use eloqctl to prepare the topology, deploy the node, and verify that the instance is running:
eloqctl check ./topology.yaml
eloqctl launch ./topology.yaml
eloqctl status <cluster-name> --wait 60
This page shows the simplest deployment: one EloqKV node on one machine.
1. Prerequisites
- The target machine should run Ubuntu 24.04 or newer.
- The control machine must be able to SSH to the target machine with the key configured in the YAML file.
- If you want to try the localhost demo, make sure
ssh localhost trueworks for the current user. - Review the platform checklist first:
Before running eloqctl, prepare the target machine with the setup steps in Configuration Checklist. That page covers user creation, SSH, sudo, limits, and other required host settings.
2. Install eloqctl
Install the latest eloqctl release on the control machine:
curl -fsSL https://raw.githubusercontent.com/eloqdata/eloqctl/main/install.sh | sh
source "${HOME}/.bash_profile"
eloqctl --version
eloqctl stores its local state under ${ELOQCTL_HOME:-$HOME/.eloqctl} by default. See Install EloqCtl for details.
3. Create a Topology YAML
The installer places example topology files under:
${ELOQCTL_HOME:-$HOME/.eloqctl}/config/examples/
For a local single-node trial, copy the localhost example and edit it:
cp "${ELOQCTL_HOME:-$HOME/.eloqctl}/config/examples/eloqctl_single_node_localhost.yaml" \
./eloqkv-local-demo.yaml
Use a topology like this:
connection:
username: "${USER}"
auth_type: "keypair"
auth:
# Update this path if your SSH key is not id_rsa.
keypair: "/home/${USER}/.ssh/id_rsa"
deployment:
cluster_name: "eloqkv-local-demo"
product: "EloqKV"
version: "latest"
install_dir: "${ELOQCTL_HOME}/demo/eloqkv-local-demo"
enable_wal: false
enable_io_uring: false
enable_tls: false
cluster_mode: false
tx_service:
tx_host_ports: [127.0.0.1:6389]
log_service:
nodes:
- host: 127.0.0.1
port: 9000
data_dir:
- "${ELOQCTL_HOME}/demo/eloqkv-local-demo/wal"
replica: 1
storage_service:
rocksdb: !LOCAL
hardware:
127.0.0.1:
cpu: 2
memory: 2048
Important points:
- The examples in this document keep important deployment fields explicit instead of relying on omitted defaults.
deployment.cluster_modeis required. For a single-node instance, set it tofalse.deployment.enable_wal,deployment.enable_io_uring, anddeployment.enable_tlsshould be written explicitly in the YAML.deployment.hardwareis required. Each host used bytx_host_ports,standby_host_ports, orvoter_host_portsmust have acpuandmemoryentry.hardwareis keyed by host, not byhost:port. If you run multiple EloqKV processes on one machine, define that host once.storage_service.rocksdb: !LOCALis the simplest persistent local-storage option for a first deployment.log_serviceis optional in general, but this example keeps a standalone single-node log service so the deployment shape is explicit and easy to inspect.
3.1 YAML Reference
For the complete field-by-field reference, see Eloqctl Topology Reference.
If you are deploying to a remote machine instead of localhost, replace:
127.0.0.1with the remote host IP or hostnameinstall_dirwith a real path on the remote machineconnection.auth.keypairwith the private key path on the control machine
4. Validate and Launch
Run a local validation first:
eloqctl check ./eloqkv-local-demo.yaml
Then deploy and start the cluster:
eloqctl launch ./eloqkv-local-demo.yaml
Wait for the cluster to become healthy:
eloqctl status eloqkv-local-demo --wait 60
launch saves a launch-compatible copy of the topology under:
${ELOQCTL_HOME:-$HOME/.eloqctl}/clusters/eloqkv-local-demo/topology.yaml
After launch, most commands use the cluster name and do not need the original YAML path.
5. Connect to EloqKV
Print a ready-to-use client command:
CLIENT=$(eloqctl -q connect eloqkv-local-demo)
eval "$CLIENT" ping
You can also inspect the live state at any time:
eloqctl status eloqkv-local-demo --detail
6. Clean Up
Stop and remove the demo cluster:
eloqctl stop eloqkv-local-demo --all --force
eloqctl remove eloqkv-local-demo --force
Next Steps
- For the
RocksDB Cloud + MinIOandEloqStore Cloud + MinIOHA topologies, continue with Deploy High Availability Cluster with MinIO. - For common operations after deployment, such as status, stop, export, and config updates, see Manage Cluster Using Eloqctl.