Enterprise Nodes
Manage nodes in Redis Enterprise clusters.
Commands
List Nodes
redisctl enterprise node list [OPTIONS]
Examples:
# List all nodes
redisctl enterprise node list
# Table format
redisctl enterprise node list -o table
# Get node IPs and status
redisctl enterprise node list -q "[].{id:uid,addr:addr,status:status}"
Get Node
redisctl enterprise node get <ID> [OPTIONS]
Examples:
# Get node details
redisctl enterprise node get 1
# Get specific fields
redisctl enterprise node get 1 -q "{addr:addr,cores:cores,memory:total_memory}"
Update Node
redisctl enterprise node update <ID> --data <JSON>
Examples:
# Update node settings
redisctl enterprise node update 1 --data '{"addr": "10.0.0.2"}'
# Set rack ID
redisctl enterprise node update 1 --data '{"rack_id": "rack-1"}'
Remove Node
redisctl enterprise node remove <ID> [OPTIONS]
Remove a node from the cluster.
Examples:
# Remove node
redisctl enterprise node remove 3
# Force remove (skip checks)
redisctl enterprise node remove 3 --force
Node Actions
Maintenance Mode
# Enter maintenance mode
redisctl enterprise node action <ID> maintenance-on
# Exit maintenance mode
redisctl enterprise node action <ID> maintenance-off
Check Node Status
redisctl enterprise node check <ID>
Node Stats
Get Node Statistics
redisctl enterprise stats node <ID> [OPTIONS]
Examples:
# Current stats
redisctl enterprise stats node 1
# Stream continuously
redisctl enterprise stats node 1 --follow
# Get CPU and memory
redisctl enterprise stats node 1 -q "{cpu:cpu_user,memory:free_memory}"
Joining Nodes
Join Node to Cluster
redisctl enterprise cluster join --data <JSON>
Example:
redisctl enterprise cluster join --data '{
"addr": "10.0.0.3",
"username": "admin@cluster.local",
"password": "password"
}'
Common Patterns
Check All Node Health
#!/bin/bash
for node in $(redisctl enterprise node list -q '[].uid' --raw); do
STATUS=$(redisctl enterprise node get $node -q 'status')
echo "Node $node: $STATUS"
done
Get Total Cluster Resources
redisctl enterprise node list -q '{
total_memory: sum([].total_memory),
total_cores: sum([].cores)
}'
Monitor Node Resources
# Watch node stats
watch -n 5 "redisctl enterprise stats node 1 -q '{cpu:cpu_user,mem:free_memory}'"
Drain Node Before Removal
# Put in maintenance mode
redisctl enterprise node action 3 maintenance-on
# Wait for shards to migrate
sleep 60
# Remove node
redisctl enterprise node remove 3
Troubleshooting
"Node not reachable"
- Check network connectivity
- Verify firewall rules allow cluster ports
- Check node services are running
"Cannot remove node"
- Ensure no master shards on node
- Put node in maintenance mode first
- Check cluster has enough resources
"Node out of memory"
- Add more nodes to cluster
- Reduce database memory allocations
- Check for memory leaks in applications
API Reference
REST endpoints:
GET /v1/nodes- List nodesGET /v1/nodes/{id}- Get nodePUT /v1/nodes/{id}- Update nodeDELETE /v1/nodes/{id}- Remove nodePOST /v1/nodes/{id}/actions/{action}- Node action
For direct API access: redisctl api enterprise get /v1/nodes