created cluster. import not working
This commit is contained in:
parent
c4b5173661
commit
f163144a65
12
Dockerfile
12
Dockerfile
|
@ -1,6 +1,9 @@
|
||||||
# Use the official Cassandra 4.1.3 image
|
# Use the official Cassandra 4.1.3 image
|
||||||
FROM cassandra:4.1.3
|
FROM cassandra:4.1.3
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y iputils-ping less locate
|
||||||
|
|
||||||
|
|
||||||
# Environment variables to configure Cassandra
|
# Environment variables to configure Cassandra
|
||||||
ENV CASSANDRA_CLUSTER_NAME=TestCluster
|
ENV CASSANDRA_CLUSTER_NAME=TestCluster
|
||||||
ENV CASSANDRA_NUM_TOKENS=256
|
ENV CASSANDRA_NUM_TOKENS=256
|
||||||
|
@ -17,6 +20,13 @@ COPY data/dev_keyspace_schema.cql /docker-entrypoint-initdb.d/dev_keyspace_schem
|
||||||
COPY scripts/setup.sh /setup.sh
|
COPY scripts/setup.sh /setup.sh
|
||||||
RUN chmod +x /setup.sh
|
RUN chmod +x /setup.sh
|
||||||
|
|
||||||
|
# Copy cassandra.yaml
|
||||||
|
COPY cassandra.yaml /etc/cassandra/
|
||||||
|
|
||||||
|
# Copy cassandra-rackdc.properties and substitute environment variables
|
||||||
|
COPY cassandra-rackdc.properties /etc/cassandra/
|
||||||
|
RUN envsubst < /etc/cassandra/cassandra-rackdc.properties > /etc/cassandra/cassandra-rackdc.properties
|
||||||
|
|
||||||
# Set the entrypoint
|
# Set the entrypoint
|
||||||
ENTRYPOINT ["/setup.sh"]
|
ENTRYPOINT ["/setup.sh"]
|
||||||
|
|
||||||
|
@ -24,4 +34,4 @@ ENTRYPOINT ["/setup.sh"]
|
||||||
EXPOSE 7000 7001 7199 9042 9160
|
EXPOSE 7000 7001 7199 9042 9160
|
||||||
|
|
||||||
# Add health check
|
# Add health check
|
||||||
HEALTHCHECK --interval=30s --timeout=10s --retries=5 CMD cqlsh -e "DESCRIBE KEYSPACES" || exit 1
|
# HEALTHCHECK --interval=30s --timeout=10s --retries=5 CMD cqlsh -e "DESCRIBE KEYSPACES" || exit 1
|
||||||
|
|
|
@ -29,8 +29,8 @@ run a single service:
|
||||||
|
|
||||||
open bash on server
|
open bash on server
|
||||||
|
|
||||||
* cassandra1: `docker exec -it cassandra-cassandra1 /bin/sh`
|
* cassandra1: `docker exec -it cassandra1 /bin/bash`
|
||||||
* cassandra2: `docker exec -it cassandra-cassandra2 /bin/sh`
|
* cassandra2: `docker exec -it cassandra2 /bin/bash`
|
||||||
* cassandra3: `docker exec -it cassandra-cassandra3 /bin/sh`
|
* cassandra3: `docker exec -it cassandra3 /bin/bash`
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
dc=${CASSANDRA_DC}
|
||||||
|
rack=${CASSANDRA_RACK}
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Seed provider
|
||||||
|
seed_provider:
|
||||||
|
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
|
||||||
|
parameters:
|
||||||
|
- seeds: "${CASSANDRA_SEEDS}"
|
||||||
|
|
||||||
|
# Address to bind to and tell other Cassandra nodes to connect to
|
||||||
|
listen_address: "${CASSANDRA_LISTEN_ADDRESS}"
|
||||||
|
|
||||||
|
# Address to broadcast to other Cassandra nodes
|
||||||
|
broadcast_address: "${CASSANDRA_BROADCAST_ADDRESS}"
|
||||||
|
|
||||||
|
# Address to bind the RPC server (default: same as listen_address)
|
||||||
|
rpc_address: 0.0.0.0
|
||||||
|
|
||||||
|
# Address to broadcast to clients
|
||||||
|
broadcast_rpc_address: "${CASSANDRA_RPC_ADDRESS}"
|
||||||
|
|
||||||
|
# Native transport port for CQL
|
||||||
|
native_transport_port: 9042
|
||||||
|
|
||||||
|
# Snitch configuration
|
||||||
|
endpoint_snitch: GossipingPropertyFileSnitch
|
||||||
|
|
||||||
|
# DC and RACK settings
|
||||||
|
dc: ${CASSANDRA_DC}
|
||||||
|
rack: ${CASSANDRA_RACK}
|
|
@ -2,12 +2,16 @@ version: '3.8'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
cassandra1:
|
cassandra1:
|
||||||
build: .
|
image: cassandra:4.1.3
|
||||||
container_name: cassandra1
|
container_name: cassandra1
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
- CASSANDRA_BROADCAST_ADDRESS=cassandra1
|
- CASSANDRA_BROADCAST_ADDRESS=cassandra1
|
||||||
|
- CASSANDRA_LISTEN_ADDRESS=cassandra1
|
||||||
|
- CASSANDRA_RPC_ADDRESS=cassandra1
|
||||||
|
- CASSANDRA_DC=DC1
|
||||||
|
- CASSANDRA_RACK=RAC1
|
||||||
- PRIMARY_NODE=true
|
- PRIMARY_NODE=true
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/dumps/node1:/dump
|
- ./data/dumps/node1:/dump
|
||||||
|
@ -17,19 +21,23 @@ services:
|
||||||
- "9042:9042"
|
- "9042:9042"
|
||||||
networks:
|
networks:
|
||||||
- cassandra-net
|
- cassandra-net
|
||||||
healthcheck:
|
# healthcheck:
|
||||||
test: ["CMD", "cqlsh", "-e", "DESCRIBE KEYSPACES"]
|
# test: ["CMD", "cqlsh", "-e", "DESCRIBE KEYSPACES"]
|
||||||
interval: 30s
|
# interval: 30s
|
||||||
timeout: 10s
|
# timeout: 10s
|
||||||
retries: 5
|
# retries: 5
|
||||||
|
|
||||||
cassandra2:
|
cassandra2:
|
||||||
build: .
|
image: cassandra:4.1.3
|
||||||
container_name: cassandra2
|
container_name: cassandra2
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
- CASSANDRA_BROADCAST_ADDRESS=cassandra2
|
- CASSANDRA_BROADCAST_ADDRESS=cassandra2
|
||||||
|
- CASSANDRA_LISTEN_ADDRESS=cassandra2
|
||||||
|
- CASSANDRA_RPC_ADDRESS=cassandra2
|
||||||
|
- CASSANDRA_DC=DC1
|
||||||
|
- CASSANDRA_RACK=RAC1
|
||||||
- PRIMARY_NODE=false
|
- PRIMARY_NODE=false
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/dumps/node2:/dump
|
- ./data/dumps/node2:/dump
|
||||||
|
@ -37,22 +45,26 @@ services:
|
||||||
- ./logs/node2:/var/log/cassandra
|
- ./logs/node2:/var/log/cassandra
|
||||||
networks:
|
networks:
|
||||||
- cassandra-net
|
- cassandra-net
|
||||||
depends_on:
|
# depends_on:
|
||||||
cassandra1:
|
# cassandra1:
|
||||||
condition: service_healthy
|
# condition: service_healthy
|
||||||
healthcheck:
|
# healthcheck:
|
||||||
test: ["CMD", "cqlsh", "-e", "DESCRIBE KEYSPACES"]
|
# test: ["CMD", "cqlsh", "-e", "DESCRIBE KEYSPACES"]
|
||||||
interval: 30s
|
# interval: 30s
|
||||||
timeout: 10s
|
# timeout: 10s
|
||||||
retries: 5
|
# retries: 5
|
||||||
|
|
||||||
cassandra3:
|
cassandra3:
|
||||||
build: .
|
image: cassandra:4.1.3
|
||||||
container_name: cassandra3
|
container_name: cassandra3
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
- CASSANDRA_BROADCAST_ADDRESS=cassandra3
|
- CASSANDRA_BROADCAST_ADDRESS=cassandra3
|
||||||
|
- CASSANDRA_LISTEN_ADDRESS=cassandra3
|
||||||
|
- CASSANDRA_RPC_ADDRESS=cassandra3
|
||||||
|
- CASSANDRA_DC=DC1
|
||||||
|
- CASSANDRA_RACK=RAC1
|
||||||
- PRIMARY_NODE=false
|
- PRIMARY_NODE=false
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/dumps/node3:/dump
|
- ./data/dumps/node3:/dump
|
||||||
|
@ -60,14 +72,14 @@ services:
|
||||||
- ./logs/node3:/var/log/cassandra
|
- ./logs/node3:/var/log/cassandra
|
||||||
networks:
|
networks:
|
||||||
- cassandra-net
|
- cassandra-net
|
||||||
depends_on:
|
# depends_on:
|
||||||
cassandra2:
|
# cassandra2:
|
||||||
condition: service_healthy
|
# condition: service_healthy
|
||||||
healthcheck:
|
# healthcheck:
|
||||||
test: ["CMD", "cqlsh", "-e", "DESCRIBE KEYSPACES"]
|
# test: ["CMD", "cqlsh", "-e", "DESCRIBE KEYSPACES"]
|
||||||
interval: 30s
|
# interval: 30s
|
||||||
timeout: 10s
|
# timeout: 10s
|
||||||
retries: 5
|
# retries: 5
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
cassandra-net:
|
cassandra-net:
|
||||||
|
|
Loading…
Reference in New Issue