https://xxx.f4.htw-berlin.de:9443/
Das Folgende dreimal ausführen
networks:
ncas:
name: ncas
services:
cas1:
container_name: cas1
image: cassandra:latest
ports:
- 17000:7000
- 17001:7001
- 17070:7070
- 17199:7199
- 19042:9042
- 19160:9160
environment:
- JVM_OPTS=-Xms1024M -Xmx1024M
- HEAP_NEWSIZE=1024M
- MAX_HEAP_SIZE=1024M
networks:
- ncas
networks:
ncas:
name: ncas
services:
cas2:
container_name: cas2
image: cassandra:latest
ports:
- 27000:7000
- 27001:7001
- 27070:7070
- 27199:7199
- 29042:9042
- 29160:9160
environment:
- CASSANDRA_SEEDS=cas1
- JVM_OPTS=-Xms1024M -Xmx1024M
- HEAP_NEWSIZE=1024M
- MAX_HEAP_SIZE=1024M
networks:
- ncas
networks:
ncas:
name: ncas
services:
cas3:
container_name: cas3
image: cassandra:latest
ports:
- 37000:7000
- 37001:7001
- 37070:7070
- 37199:7199
- 39042:9042
- 39160:9160
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;