X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=README.sh;h=8bc97f7fc3a4890f1c2a6a170edd903b36202caf;hb=706220a34eeecd09bd1d5dfa967be9e110b44a99;hp=2a1e5d864719f10d0875f18b14a11f97793b4493;hpb=6c1d4abdf0a96e3aef8452b3e2c10be14f378700;p=demos%2Fkafka%2Ftraining diff --git a/README.sh b/README.sh index 2a1e5d8..8bc97f7 100755 --- a/README.sh +++ b/README.sh @@ -9,14 +9,15 @@ then exit fi -docker-compose up -d zookeeper kafka cli +docker-compose up -d zookeeper kafka cli mongo express if [[ $(docker image ls -q $IMAGE) == "" || "$1" = "build" ]] then - mvn install || exit + docker-compose rm -svf peter beate + mvn clean install || exit else echo "Using image existing images:" docker image ls $IMAGE @@ -24,45 +25,65 @@ fi echo "Waiting for the Kafka-Cluster to become ready..." docker-compose exec cli cub kafka-ready -b kafka:9092 1 60 > /dev/null 2>&1 || exit 1 -docker-compose up setup -docker-compose up -d - -while ! [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for consumer-1..."; sleep 1; done -while ! [[ $(http 0:8082/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for consumer-2..."; sleep 1; done -while ! [[ $(http 0:8083/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for consumer-3..."; sleep 1; done -while ! [[ $(http 0:8084/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for consumer-4..."; sleep 1; done -while ! [[ $(http 0:8085/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for consumer-5..."; sleep 1; done - -sleep 5 +docker-compose up -d kafka-ui docker-compose exec -T cli bash << 'EOF' -echo "Writing poison pill into topic test..." -# tag::poisonpill[] -echo 'BOOM!' | kafkacat -P -b kafka:9092 -t test -# end::poisonpill[] +echo "Creating topic with 3 partitions..." +kafka-topics --bootstrap-server kafka:9092 --delete --if-exists --topic test +# tag::createtopic[] +kafka-topics --bootstrap-server kafka:9092 --create --topic test --partitions 3 +# end::createtopic[] +kafka-topics --bootstrap-server kafka:9092 --describe --topic test EOF -while [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "consumer-1 is still running..."; sleep 1; done -while [[ $(http 0:8082/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "consumer-2 is still running..."; sleep 1; done -while [[ $(http 0:8083/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "consumer-3 is still running..."; sleep 1; done -while [[ $(http 0:8084/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "consumer-4 is still running..."; sleep 1; done -while [[ $(http 0:8085/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "consumer-5 is still running..."; sleep 1; done - -http -v :8081/actuator/health -echo "Restarting consumer-1" -http -v post :8081/start - -echo "Waiting for consumer-1 to come up" -while ! [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for consumer-1..."; sleep 1; done -http -v :8081/actuator/health +docker-compose up -d consumer -echo "Waiting for consumer-1 to crash" -while [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "consumer-1 is still running..."; sleep 1; done -http -v :8081/actuator/health +docker-compose up -d producer +sleep 10 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state docker-compose stop producer -docker-compose logs --tail=10 consumer-1 -docker-compose logs --tail=10 consumer-2 -docker-compose logs --tail=10 consumer-3 -docker-compose logs --tail=10 consumer-4 -docker-compose logs --tail=10 consumer-5 +docker-compose exec -T cli bash << 'EOF' +echo "Altering number of partitions from 3 to 7..." +# tag::altertopic[] +kafka-topics --bootstrap-server kafka:9092 --alter --topic test --partitions 7 +kafka-topics --bootstrap-server kafka:9092 --describe --topic test +# end::altertopic[] +EOF + +docker-compose start producer +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +sleep 1 +http -v :8081/state +docker-compose stop producer consumer