4. Kafka

Note

Servidor de colas

4.1. Servidor Zookeeper

docker rm -f zookeeper-server

docker run -dit \
   --name zookeeper-server \
   -p 2181:2181 \
   -e ZOO_ENABLE_AUTH=no \
   -e ALLOW_ANONYMOUS_LOGIN=yes \
   bitnami/zookeeper:latest

4.2. Servidor Kafka

LOCAL_IP='172.16.1.21'
docker rm -f kafka-server

docker run -dit \
   --name kafka-server \
   -p 9092:9092 \
   -e KAFKA_BROKER_ID=1 \
   -e KAFKA_LISTENERS=PLAINTEXT://:9092 \
   -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
   -e ALLOW_PLAINTEXT_LISTENER=yes \
   -e KAFKA_DELETE_TOPIC_ENABLE=true \
   --hostname=kafka-server \
   --add-host=zookeeper:$LOCAL_IP \
   --add-host=kafka-server:$LOCAL_IP \
   bitnami/kafka:latest

4.3. Cliente GUI para kafka

docker rm -f kafka-ui

docker run -dit \
   --name kafka-ui \
   -p 9006:9000 \
   -e KAFKA_BROKERCONNECT=172.16.1.21:9092 \
   --restart always \
   obsidiandynamics/kafdrop

4.4. Servidor Kafka con seguridad

docker rm -f kafka-server

docker run -dit \
   --name kafka-server \
   -p 9092:9092 \
   -e ALLOW_PLAINTEXT_LISTENER=yes \
   -e KAFKA_DELETE_TOPIC_ENABLE=true \
   -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 \
   -e KAFKA_CLIENT_USER=diego \
   -e KAFKA_CLIENT_PASSWORD=blanca#11 \
   -e KAFKA_ZOOKEEPER_USER=diego \
   -e KAFKA_ZOOKEEPER_PASSWORD=blanca#11 \
   --add-host=zookeeper:$LOCAL_IP \
   --add-host=kafka-server:$LOCAL_IP \
   bitnami/kafka:latest