cas1 anlegennetworks:
ncas:
name: ncas
services:
cas1:
container_name: cas1
image: cassandra:latest
environment:
- JVM_OPTS=-Xms1024M -Xmx1024M
- HEAP_NEWSIZE=1024M
- MAX_HEAP_SIZE=1024M
networks:
- ncas
Etwas warten, bis cas1 up ist
cas2 anlegennetworks:
ncas:
name: ncas
services:
cas2:
container_name: cas2
image: cassandra:latest
environment:
- CASSANDRA_SEEDS=cas1
- JVM_OPTS=-Xms1024M -Xmx1024M
- HEAP_NEWSIZE=1024M
- MAX_HEAP_SIZE=1024M
networks:
- ncas
cas3 anlegennetworks:
ncas:
name: ncas
services:
cas3:
container_name: cas3
image: cassandra:latest
environment:
- CASSANDRA_SEEDS=cas1
- JVM_OPTS=-Xms1024M -Xmx1024M
- HEAP_NEWSIZE=1024M
- MAX_HEAP_SIZE=1024M
networks:
- ncas
Erst cas1 starten und dann etwas warten, dann erst cas2 und cas3
In cas1, cas2 und cas3 ausführen
exec console, jeweils in einem neuen Tabcqlsh startenIn cas1 ausführen
create keyspace k1 with replication = {
'class': 'SimpleStrategy', 'replication_factor' : 3
};
use k1;
create table t (
pk int,
sk int,
v int,
primary key (pk, sk)
);
insert into t(pk, sk, v) values (1, 1, 100);
In cas1, cas2 und cas3 ausführen
use k1;
consistency quorum;
select * from t where pk=1;
Weitere Schritte
auf cas1
insert into t(pk, sk, v) values (1, 1, 200);
auf allen Servern:
select * from t where pk=1;
cas3 aus Netzwerk lösen
auf allen Servern:
select * from t where pk=1;
auf cas3:
consistency one;
auf cas3:
select * from t where pk=1;
auf cas1:
insert into t(pk, sk, v) values (1, 1, 300);
auf allen Servern:
select * from t where pk=1;
(Wieder-)Hereinnehmen von cas3 ins Netzwerk ncas
auf cas3:
consistency quorum;
auf cas3:
select * from t where pk=1;