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