Hello everyone, I am working on a simple deployment of Cassandra nodes and KairosDB nodes using Docker Swarm. So far I have been able to deploy a Cassandra cluster with one seed node (currently I have the restriction of only using one Cassandra seed, but it doesn't matter for now because we have just 4 hosts).
My compose file is the following (I removed details about host names):
version: "3.8"
services:
cassandra-seed:
image: cassandra:3.11.7
networks:
- cassandra-net
environment:
- CASSANDRA_BROADCAST_ADDRESS=cassandra-seed
deploy:
placement:
constraints:
- node.hostname == <a-hostname>
cassandra-node:
image: cassandra:3.11.7
networks:
- cassandra-net
environment:
- CASSANDRA_SEEDS=cassandra-seed
deploy:
mode: replicated
replicas: 3
placement:
constraints:
- node.hostname != <a-hostname>
depends_on:
- cassandra-seed
kairosdb:
image: my-own-kairosdb-image:some-tag
networks:
- cassandra-net
environment:
- "CASSANDRA_HOST_LIST:I-dont-know-what-to-put-here"
ports:
- 8080:8080
deploy:
mode: replicated
replicas: 3
networks:
cassandra-net:
driver: overlay
My question is, how can I make my nodes of KairosDB have the correct values for the property "kairosdb.datastore.cassandra.cql_host_list"? (which corresponds to the CASSANDRA_HOST_LIST environment variable of my Dockerfile).
I understand that the optimal value for this property is to have each hostname:port for every Cassandra node on the cluster, and not just the Cassandra seeds (which would be very easy to set, given that I only have one Cassandra seed and it has a given broadcast address). Correct me if I am wrong please.
Any help would be very appreciated!