docker安装kafka(单机版)

添加docker network

docker network create -d bridge mynetwork

docker compose安装kafka,zookeeper

  • 替换192.168.0.104为本机IP
  • 替换/Users/wenchen/docker/kafka为本地路径

docker-compose.yml

version: "3"
services:
  zookeeper:
    image: docker.io/bitnami/zookeeper:3.8
    network_mode: network_kafka
    container_name: zookeeper_1
    ports:
      - "2181:2181"
    volumes:
      - /Users/wenchen/docker/kafka/zookeeper_1:/bitnami
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
  kafka:
    image: docker.io/bitnami/kafka:3.4
    network_mode: network_kafka
    container_name: kafka_1
    ports:
      - "9092:9092"
    volumes:
      - /Users/wenchen/docker/kafka/kafka_1:/bitnami
    environment:
      - KAFKA_BROKER_ID=1
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.104:9092
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper

docker-compose.yml文件目录下运行

docker compose -f docker-compose.yml up

docker compose安装kafka-ui

  • 替换/Users/wenchen/docker/kafka为本地路径

docker-compose.yml

version: "3"
services:
  kafka-ui:
    image: provectuslabs/kafka-ui:latest
    network_mode: network_kafka
    container_name: kafka-ui
    restart: always
    ports:
      - 9091:8080
    volumes:
      - /Users/wenchen/docker/kafka-ui/etc/localtime:/etc/localtime
    environment:
      # 集群名称
      - KAFKA_CLUSTERS_0_NAME=local
      # 集群地址
      - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka_1:9092

docker-compose.yml文件目录下运行

docker compose -f docker-compose.yml up

kafka操作

#进入容器
docker exec -it kafka_1 /bin/bash

#进入目录
cd /opt/bitnami/kafka/bin/

#创建topic
kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 3 --topic test

Created topic test.

#查看所有Topic
kafka-topics.sh --list --bootstrap-server localhost:9092

test

#查看topic详情
kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic test

Topic: test TopicId: dW0aGlwTR3aXq4_370T4kw PartitionCount: 3   ReplicationFactor: 1    Configs:
    Topic: test Partition: 0    Leader: 1   Replicas: 1 Isr: 1
    Topic: test Partition: 1    Leader: 1   Replicas: 1 Isr: 1
    Topic: test Partition: 2    Leader: 1   Replicas: 1 Isr: 1

# 启动一个生产者(输入消息)
kafka-console-producer.sh --broker-list localhost:9092 --topic test
[等待输入自己的内容 出现>输入即可]
>i am a new msg !
>i am a good msg ?

# 启动一个消费者(等待消息) 
# 注意这里的--from-beginning,每次都会从头开始读取,你可以尝试去掉和不去掉看下效果
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
[等待消息]
i am a new msg !
i am a good msg ?
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容