Advertisement
Guest User

start.sh

a guest
Oct 16th, 2019
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.99 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. # based on https://success.docker.com/article/getting-started-with-kafka
  4. # create docker swarm cluster of kaffka
  5. # N.B. kafka broker version was outdated and replaced with 2019-xx-xx
  6. # also neet to create docker swarm network
  7. # to access the service need to use it name, like "manager" or "broker"
  8.  
  9. # original repository https://github.com/qnib/plain-kafka
  10.  
  11. # Optional
  12. # docker swarm init
  13. # docker swarm join
  14.  
  15.  
  16. #create network
  17. docker network create -d overlay --attachable kafka-net
  18.  
  19. # create zk node
  20. docker service create --network kafka-net --name=zookeeper --publish 2181:2181 qnib/plain-zookeeper:2018-04-25
  21.  
  22. # create zk admin
  23. docker service create --network kafka-net --name=zkui --publish 9090:9090 qnib/plain-zkui@sha256:30c4aa1236ee90e4274a9059a5fa87de2ee778d9bfa3cb48c4c9aafe7cfa1a13
  24.  
  25. # create kafka broker
  26. docker service create --network kafka-net --name broker --hostname="{{.Service.Name}}.{{.Task.Slot}}.{{.Task.ID}}" -e KAFKA_BROKER_ID={{.Task.Slot}} -e ZK_SERVERS=tasks.zookeeper qnib/plain-kafka:2019-01-28_2.1.0
  27.  
  28. # create kafka admin
  29. docker service create --network kafka-net --name manager -e ZOOKEEPER_HOSTS=tasks.zookeeper --publish=9000:9000 qnib/plain-kafka-manager:2018-04-25
  30.  
  31. # Create test topic
  32. docker exec -t -e JMX_PORT="" $(docker ps -q --filter 'label=com.docker.swarm.service.name=broker'|head -n1) /opt/kafka/bin/kafka-topics.sh --zookeeper tasks.zookeeper:2181 --partitions=1 --replication-factor=1 --create --topic test
  33.  
  34. # Find manager addres
  35. nslookup manager
  36.  
  37. # to create cluster need to use zookeeper host: tasks.zookeeper:2181, kafka version 1.0, enable JMX
  38.  
  39. # Optional. Create some messages
  40. #docker run -t --rm --network kafka-net qnib/golang-kafka-producer:2018-05-01.5 5
  41.  
  42. # Also it's possible to scale brokers:
  43. # docker service update --replicas=3 broker
  44.  
  45. # To stop cluster
  46. # docker service remove manager
  47. # docker service remove broker
  48. # docker service remove zkui
  49. # docker service remove zookeeper
  50. #docker network remove kafka-net
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement