This directory contains the essential scripts for managing your HyperCache distributed cache system.
./scripts/start-system.shThis starts both the HyperCache cluster and monitoring stack (Elasticsearch, Grafana, Filebeat).
./scripts/start-system.sh --cluster # Start only HyperCache cluster
./scripts/start-system.sh --monitor # Start only monitoring stack
./scripts/start-system.sh --clean # Clean data first, then start
./scripts/start-system.sh --rebuild # Rebuild binaries, then startstart-system.sh- Master script to start cluster and/or monitoringbuild-and-run.sh- Build and run HyperCache clusterbuild-hypercache.sh- Build HyperCache binaries onlydocker-deploy.sh- Complete Docker deployment automation
For comprehensive Docker testing instructions, see:
- Local Docker Testing Guide - Complete guide for testing with Docker locally
- Docker Deployment Guide - Production Docker deployment documentation
-
clean-persistence.sh- Clean HyperCache node persistence data./scripts/clean-persistence.sh --all # Clean all nodes ./scripts/clean-persistence.sh --node node-1 # Clean specific node
-
clean-elasticsearch.sh- Clean Elasticsearch logs and indices./scripts/clean-elasticsearch.sh --status # Show current indices ./scripts/clean-elasticsearch.sh --logs # Clean only log indices ./scripts/clean-elasticsearch.sh --logs --restart # Clean logs + restart Filebeat
cleanup.sh- General cleanup utilitiestest-bench.sh- Performance benchmarking
When the system is running:
-
HyperCache Nodes:
- Node 1: http://localhost:9080
- Node 2: http://localhost:9081
- Node 3: http://localhost:9082
-
Monitoring:
- Grafana: http://localhost:3000 (admin/admin123)
- Elasticsearch: http://localhost:9200
Your HyperCache system includes 5 comprehensive monitoring dashboards:
- Health Dashboard - System status, node health, error rates
- Performance Metrics - P99/P95/P50 latencies for GET/PUT/DELETE operations
- System Components - Gossip, CuckooFilter, RAFT, Events monitoring
- Operational Dashboard - Cache hit/miss, memory pressure, consistency
- Log Stream - Real-time structured log viewer
Quick Start:
# Generate test data for dashboards
./scripts/generate-dashboard-load.sh
# View detailed guide
open docs/grafana-dashboards-guide.mdAfter starting the system:
# Store a value
curl -X PUT http://localhost:9080/api/cache/test \
-H "Content-Type: application/json" \
-d '{"value":"hello world","ttl_hours":1}'
# Retrieve the value
curl http://localhost:9080/api/cache/test# Stop HyperCache cluster
pkill -f hypercache
# Stop monitoring stack
docker-compose -f docker-compose.logging.yml down- Port conflicts: Check for processes using ports 8080-8082 and 9080-9082
- Docker issues: Ensure Docker is running for monitoring stack
- No logs in Grafana: Check time range (logs may be from previous day)
- Clean start: Use
./scripts/start-system.sh --cleanfor fresh data
- HyperCache logs:
./logs/node-*.log - Docker logs:
docker logs <container-name>