Setup-Verbesserungen aus grundlagen/docker übernommen
[demos/kafka/training] / README.sh
1 #!/bin/bash
2
3 if [ "$1" = "cleanup" ]
4 then
5   docker-compose -f docker/docker-compose.yml down -t0 -v --remove-orphans
6   exit
7 fi
8
9 docker-compose -f docker/docker-compose.yml up -d --remove-orphans kafka-1 kafka-2 kafka-3
10
11 docker-compose -f docker/docker-compose.yml up --remove-orphans setup || exit 1
12
13 docker-compose -f docker/docker-compose.yml up -t0 -d cli
14
15 docker-compose -f docker/docker-compose.yml up -d acks-0 acks-1 acks-all
16 while ! [[ $(http 0:8080/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-0...";   sleep 1; done
17 while ! [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-1...";   sleep 1; done
18 while ! [[ $(http 0:8082/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-all..."; sleep 1; done
19
20 echo "Resetting the topic"
21 docker-compose -f docker/docker-compose.yml restart setup
22
23 docker-compose -f docker/docker-compose.yml exec -T cli bash << 'EOF'
24 # tag::describe[]
25 kafka-topics --bootstrap-server kafka:9092 --describe --topic test
26 # end::describe[]
27 EOF
28
29 # tag::foo[]
30 echo -n Alle Broker laufen über acks-0   | http -v :8080/foo
31 echo -n Alle Broker laufen über acks-1   | http -v :8081/foo
32 echo -n Alle Broker laufen über acks-all | http -v :8082/foo
33 # end::foo[]
34 echo
35 echo "Reading all messages, that were really written:"
36 # tag::foo[]
37 kafkacat -b :9092 -t test -o 0  -f'key: %k\toffset: %o\tvalue: %s\n' -qe
38 # end::foo[]
39
40 echo "Stopping kafka-1"
41 docker-compose -f docker/docker-compose.yml stop kafka-1
42 docker-compose -f docker/docker-compose.yml exec cli kafka-topics --bootstrap-server kafka:9092 --describe --topic test
43 echo
44 echo "Restarting acks-0 acks-1 acks-all"
45 docker-compose -f docker/docker-compose.yml restart acks-0 acks-1 acks-all
46 while ! [[ $(http 0:8080/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-0...";   sleep 1; done
47 while ! [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-1...";   sleep 1; done
48 while ! [[ $(http 0:8082/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-all..."; sleep 1; done
49
50 echo -n kafka-1 wurde beendet über acks-0   | http -v :8080/foo
51 echo -n kafka-1 wurde beendet über acks-1   | http -v :8081/foo
52 echo -n kafka-1 wurde beendet über acks-all | http -v :8082/foo
53 echo
54 echo "Reading all messages, that were really written:"
55 kafkacat -b :9092 -t test -o 0  -f'key: %k\toffset: %o\tvalue: %s\n' -qe
56
57 echo "Stopping kafka-3"
58 docker-compose -f docker/docker-compose.yml stop kafka-3
59 docker-compose -f docker/docker-compose.yml exec cli kafka-topics --bootstrap-server kafka:9092 --describe --topic test
60 echo
61 echo "Restarting acks-0 acks-1 acks-all"
62 docker-compose -f docker/docker-compose.yml restart acks-0 acks-1 acks-all
63 while ! [[ $(http 0:8080/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-0...";   sleep 1; done
64 while ! [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-1...";   sleep 1; done
65 while ! [[ $(http 0:8082/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-all..."; sleep 1; done
66
67 echo -n kafka-1 und kafka-3 wurden beendet über acks-0   | http -v :8080/foo
68 echo -n kafka-1 und kafka-3 wurden beendet über acks-1   | http -v :8081/foo
69 echo -n kafka-1 und kafka-3 wurden beendet über acks-all | http -v :8082/foo
70 echo
71 echo "Reading all messages, that were really written:"
72 kafkacat -b :9092 -t test -o 0  -f'key: %k\toffset: %o\tvalue: %s\n' -qe