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/

#創(chuàng)建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 ?
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容