当前位置: 首页 > 工具软件 > kafkaUI-lite > 使用案例 >

基于docker window10 wsl2 搭建kafka服务

长孙知
2023-12-01

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的可视化图形界面工具

 类似资料: