X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=README.sh;h=6dbc9d99715a911fb5d9c54a5ab74a97dd1cd074;hb=refs%2Fheads%2Frebalance-listener;hp=72f0c60db69f3c6e97e357b8522f01f1615e9e19;hpb=0ac94b34af644f6fa5a0556fc7e2bd322167c608;p=demos%2Fkafka%2Ftraining diff --git a/README.sh b/README.sh index 72f0c60..6dbc9d9 100755 --- a/README.sh +++ b/README.sh @@ -9,6 +9,7 @@ then exit fi +docker-compose stop producer consumer docker-compose up -d zookeeper kafka cli if [[ @@ -16,7 +17,8 @@ if [[ "$1" = "build" ]] then - mvn install || exit + docker-compose rm -svf consumer + mvn clean install || exit else echo "Using image existing images:" docker image ls $IMAGE @@ -24,23 +26,60 @@ 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 producer consumer -sleep 5 + 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 is still running..."; sleep 1; done -http -v :8081/actuator/health -echo "Restarting consumer" -http -v post :8081/start + +docker-compose up -d producer consumer +while ! [[ $(http 0:8080/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for producer..."; sleep 1; done while ! [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for consumer..."; sleep 1; done -while [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Consumer is still running..."; sleep 1; done -http -v :8081/actuator/health -http -v post :8081/actuator/shutdown +while [[ "$(http :8081/state | jq -r .)" == "{}" ]]; do echo "Waiting for some state to show up..."; done + +http -v :8081/state + +docker-compose stop producer +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 +while ! [[ $(http 0:8080/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for producer..."; sleep 1; done + +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 -docker-compose ps -docker-compose logs --tail=100 consumer