1.基于docker window10 wsl2 kafka和zookeeper镜像都是 bitnami的,在docker镜像库中bitnami还是下载量最多的
2.docker-compose文件
version: "3" services: zookeeper: image: docker.io/bitnami/zookeeper:3.7 ports: - "2181:2181" volumes: - E:/docker-data/kafkas/bitnami-zookeeper:/bitnami environment: - ALLOW_ANONYMOUS_LOGIN=yes kafka: image: docker.io/bitnami/kafka:3 ports: - "9093:9093" volumes: - E:/docker-data/kafkas/bitnami-kafka:/bitnami environment: - KAFKA_CFG_ZOOKEEPER_ConNECT=zookeeper:2181 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT - KAFKA_CFG_LISTENERS=CLIENT://:9092,EXTERNAL://:9093 - KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka:9092,EXTERNAL://192.168.1.208:9093 - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=CLIENT - ALLOW_PLAINTEXT_LISTENER=yes depends_on: - zookeeper kafka-manager: container_name: kafka-manager image: sheepkiller/kafka-manager ports: - "9000:9000" environment: ZK_HOSTS: zookeeper:2181 APPLICATION_SECRET: letmein KAFKA_MANAGER_AUTH_ENABLED: "true" KAFKA_MANAGER_USERNAME: admin KAFKA_MANAGER_PASSWORD: password restart: always
3.运行命令
docker-compose -f kafka.yml up -d
启动如果不成功或者消费不到消息,清空挂载文件,重新启动即可,我遇到过这种情况都启动成功就是发送消息后消费不到,可能是挂在文件中存在之前错误的配置
4. 测试kafka启动
进入容器
docker exec -it xxx /bin/sh
验证zookeeper是否成功启动
/opt/bitnami/zookeeper/bin/zkServer.sh status(一个leader,两个follower)
或者
在Zookeeper安装的任何一个节点执行客户端连接命令:
bin/zkCli.sh -server 192.168.1.1:2181
kafka测试消息发送和消费
生产消息
/opt/bitnami/kafka/bin/kafka-console-producer.sh --broker-list 192.168.1.208:9093 --topic TestTopic
消费消息
/opt/bitnami/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.208:9093 --topic TestTopic --from-beginning
UI工具用的kafka-manager和KafkaUI-lite
kafka-manager在上面配置文件中
kafkaui-lite参考这个源码,里面有详细介绍和各种搭建部署说明,很简单的一款工具kafkaUI-lite: 史上最轻便好用的kafka 可视化图形界面工具,可以生产消费消息,管理topic、group、集群。支持管理多个kafka环境。部署简便,不需要连数据库,只有一个jar包启动即可。同时也是zookeeper 、redis的可视化图形界面工具
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)