Docker 安装 Kafka (M3 芯片版)

1.拉取镜像

shell 复制代码
docker pull bitnami/kafka:latest

2. 编写 docker-compose.yml

创建 docker-compose.yml 文件,并添加以下内容:

shell 复制代码
version: "3"
services:
 kafka:
   image: 'bitnami/kafka:latest'
   container_name: kafka
   ports:
     - "9092:9092"
     - "9093:9093"
   volumes:
     - type: volume
       source: kafka_standalone_data
       target: /bitnami/kafka
       read_only: false
   environment:
     - BITNAMI_DEBUG=yes
     # 启用KRaft模式必须设置下面三个属性
     - KAFKA_CFG_NODE_ID=1
     - KAFKA_CFG_PROCESS_ROLES=broker,controller
     - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
     # broker id
     - KAFKA_BROKER_ID=1
     # listener的各种配置
     - KAFKA_CFG_LISTENERS=CONTROLLER://:9094,BROKER://:9092,EXTERNAL://:9093
     - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,BROKER:PLAINTEXT,EXTERNAL:PLAINTEXT
     # 注意EXTERNAL配置的是当前Docker所在的主机地址,BROKER可以使用Docker内部的网络地址即可
     - KAFKA_CFG_ADVERTISED_LISTENERS=BROKER://127.0.0.1:9092,EXTERNAL://host.docker.internal:9093
     # 内部各个broker之间通信用的listener
     - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=BROKER
     # 用来进行选举的Controller服务器,如果有多个Controller则都需要写上,这里本机
     - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@127.0.0.1:9094
     - ALLOW_PLAINTEXT_LISTENER=yes
volumes:
 kafka_standalone_data:
   driver: local

启动 Kafka 服务:

复制代码
docker compose up -d

3. 创建 Kafka Topic

进入 Kafka 容器:

bash 复制代码
docker exec -it kafka bash

使用 kafka-topics.sh 创建一个名为 test-topic 的 Topic:

css 复制代码
kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test-topic

验证 Topic 是否创建成功:

css 复制代码
kafka-topics.sh --list --bootstrap-server localhost:9092

4. 生产和消费消息测试

生产者发送消息

css 复制代码
kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic

输入测试消息,例如:

复制代码
Hello Kafka!

Ctrl + D 结束输入。

消费者接收消息

打开另一个终端,运行:

javascript 复制代码
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning

如果配置正确,你应该能看到生产者发送的消息 Hello Kafka!

相关推荐
Piper蛋窝2 小时前
深入 Go 语言垃圾回收:从原理到内建类型 Slice、Map 的陷阱以及为何需要 strings.Builder
后端·go
prince055 小时前
Kafka 生产者和消费者高级用法
分布式·kafka·linq
六毛的毛5 小时前
Springboot开发常见注解一览
java·spring boot·后端
AntBlack5 小时前
拖了五个月 ,不当韭菜体验版算是正式发布了
前端·后端·python
31535669135 小时前
一个简单的脚本,让pdf开启夜间模式
前端·后端
uzong5 小时前
curl案例讲解
后端
菜萝卜子6 小时前
【Project】基于kafka的高可用分布式日志监控与告警系统
分布式·kafka
一只叫煤球的猫6 小时前
真实事故复盘:Redis分布式锁居然失效了?公司十年老程序员踩的坑
java·redis·后端
csdn_aspnet6 小时前
在 Windows 上安装和运行 Apache Kafka
windows·kafka
大鸡腿同学7 小时前
身弱武修法:玄之又玄,奇妙之门
后端