cas2 anlegennetworks:
adbkt:
external: true
services:
cas2:
container_name: cas2
image: cassandra:latest
environment:
- CASSANDRA_SEEDS=cas
- JVM_OPTS=-Xms1024M -Xmx1024M
- HEAP_NEWSIZE=1024M
- MAX_HEAP_SIZE=1024M
networks:
- adbkt
cas3 anlegennetworks:
adbkt:
external: true
services:
cas3:
container_name: cas3
image: cassandra:latest
environment:
- CASSANDRA_SEEDS=cas
- JVM_OPTS=-Xms1024M -Xmx1024M
- HEAP_NEWSIZE=1024M
- MAX_HEAP_SIZE=1024M
networks:
- adbkt
Container cas muss healthy sein, bevor die anderen Container gestartet werden können.
In cas, cas2 und cas3 ausführen
exec console, jeweils in einem neuen Tabcqlsh startenIn cas 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 cas, cas2 und cas3 ausführen
use k1;
consistency quorum;
select * from t where pk=1;
Weitere Schritte - Verhalten beobacten
auf cas
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 cas:
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:
select * from t where pk=1;