You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using docker-compose.yml to deploy citus cluster. Works great!
Now, in preparation for a larger scale deployment I would like to mount the data directories of the workers to local folders. This would allow me to direct worker data volumes easily to different physical drives/storage.
I started by adding a line into the docker-compose.yml file extending the "volumes:" specification so that it reads:
...
volumes:
- healthcheck-volume:/healthcheck
- /mnt/local:/var/lib/postgresql/data
manager:
...
For a cluster with a single worker node this obviously works like a charm. However, when starting a cluster with two nodes, the second node mounts the identical local folder and both worker nodes read and write onto the same files - disaster happens!
I was hoping to specify a local subfolder named like the worker. Really, just any way to provide distinct folders to every worker. Reading through the docker-compose.yml specification I could not find a way to do so. E.g. I tried various ways to reference a container name or retrieve a runtime enumeration of worker nodes. But to no avail. E.g.
...
volumes:
- healthcheck-volume:/healthcheck
- /mnt/local/{services.worker.container_name}:/var/lib/postgresql/data
manager:
...
I am relatively new to yml in general and docker-compose.yml in particular. Would you know a way to accomplish my goal?
The text was updated successfully, but these errors were encountered:
Using docker-compose.yml to deploy citus cluster. Works great!
Now, in preparation for a larger scale deployment I would like to mount the data directories of the workers to local folders. This would allow me to direct worker data volumes easily to different physical drives/storage.
I started by adding a line into the docker-compose.yml file extending the "volumes:" specification so that it reads:
...
volumes:
- healthcheck-volume:/healthcheck
- /mnt/local:/var/lib/postgresql/data
manager:
...
For a cluster with a single worker node this obviously works like a charm. However, when starting a cluster with two nodes, the second node mounts the identical local folder and both worker nodes read and write onto the same files - disaster happens!
I was hoping to specify a local subfolder named like the worker. Really, just any way to provide distinct folders to every worker. Reading through the docker-compose.yml specification I could not find a way to do so. E.g. I tried various ways to reference a container name or retrieve a runtime enumeration of worker nodes. But to no avail. E.g.
...
volumes:
- healthcheck-volume:/healthcheck
- /mnt/local/{services.worker.container_name}:/var/lib/postgresql/data
manager:
...
I am relatively new to yml in general and docker-compose.yml in particular. Would you know a way to accomplish my goal?
The text was updated successfully, but these errors were encountered: