-
Notifications
You must be signed in to change notification settings - Fork 8
Tutorial 4: Running ChronoLog with Docker (Multi node)
Welcome! This simplified tutorial will guide you through quickly setting up ChronoLog in a multi-node environment using our automated deployment script. By the end, you'll have a fully operational distributed ChronoLog system, with minimal setup steps required.
✅ Quickly deploy ChronoLog using our automated script. ✅ Customize your ChronoLog deployment with flexible configuration options. ✅ Easily interact with and verify your ChronoLog setup.
For a simpler single-node setup, see our guide: 📌 Running ChronoLog with Docker (Single-Node)
ChronoLog runs inside Docker containers, orchestrated by Docker Compose, for easy multi-node management.
docker --versiondocker compose versiondocker pull gnosisrc/chronolog:latestRetrieve the dynamic deployment script and make it executable:
wget https://raw.githubusercontent.com/grc-iit/ChronoLog/refs/heads/develop/CI/docker/dynamic_deploy.sh
chmod +x dynamic_deploy.sh- Default deployment (1 of each component):
./dynamic_deploy.sh- Customized deployment: Use flags for a custom setup:
-
-ntotal number of components (visor + sum of the rest) -
-knumber of keepers -
-gnumber of graphers -
-pnumber of players
Example:
./dynamic_deploy.sh -n 7 -k 2 -g 2 -p 2Check your deployment:
docker psRun the following command directly from your host machine:
docker exec chronolog-c1 bash -c 'echo "chronolog-c1" > ~/chronolog_install/Release/conf/hosts_client'Execute the performance test directly:
docker exec chronolog-c1 bash -c 'LD_LIBRARY_PATH=~/chronolog_install/Release/lib ~/chronolog_repo/.spack-env/view/bin/mpiexec -n 4 -f ~/chronolog_install/Release/conf/hosts_client ~/chronolog_install/Release/bin/client_admin --config ~/chronolog_install/Release/conf/default_conf.json -a 4096 -b 4096 -s 4096 -n 4096 -t 1 -h 1 -p -r'Stop all containers:
docker compose -f dynamic-compose.yaml downRemove volumes (optional):
docker compose -f dynamic-compose.yaml down -vWith ChronoLog running, you can:
- Deploy workloads within containers.
- Integrate ChronoLog into your infrastructure.
- Customize setups based on your needs.
Stay tuned for further advanced tutorials! 🚀