【kafka】使用docker启动kafka

1.环境准备

docker拉取zookeeper镜像

bash 复制代码
docker pull zookeeper:3.4.14

创建zookeeper容器,默认端口号为2181

bash 复制代码
docker run -d --name zookeeper -p 2181:2181 zookeeper:3.4.14

拉取kafka镜像

bash 复制代码
docker pull wurstmeister/kafka:2.12-2.3.1

创键kafka容器,默认端口号为9092

bash 复制代码
docker run -d --name kafka \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.117.80 \
--env KAFKA_ZOOKEEPER_CONNECT=192.168.117.80:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.117.80:9092 \
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--env KAFKA_HEAP_OPTS="-Xmx256M -Xms256M" \
--net=host wurstmeister/kafka:2.12-2.3.1

查看是否运行成功

bash 复制代码
docker logs -f [进程号]

2.创建主题

docker进入kafka容器

bash 复制代码
docker exec -it 5af197f9ce2a /bin/bash

进入bin目录

首先找到kafka的bin

bash 复制代码
find / -name kafka

cd进去即可

bash 复制代码
cd /opt/kafka/bin

创建topic

bash 复制代码
kafka-topics.sh --create --zookeeper 192.168.117.80:2181 --partitions 1 --replication-factor 1 --topic test

查看topic

bash 复制代码
kafka-topics.sh --list --zookeeper 192.168.117.80:2181

3.创建消息生产者和消费者

创建生产者

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

创建消息消费者

从启一个容器实例

根据项目步骤进入到bin目录

创建消息消费者

bash 复制代码
kafka-console-consumer.sh --bootstrap-server 192.168.117.80:9092 --topic test

4.测试

此时是消费最后一个消息后偏移量+1的消息

若想消费所有消息

bash 复制代码
kafka-console-consumer.sh --bootstrap-server 192.168.117.80:9092 --topic test --from-beginning
相关推荐
运维全栈笔记9 小时前
K8S部署Redis高可用全攻略:1主2从3哨兵架构实战
redis·docker·云原生·容器·架构·kubernetes·bootstrap
SCBAiotAigc11 小时前
2026.5.1:`DockerDesktop must be owned by an elevated account`错误的解决办法
人工智能·docker·具身智能
KmSH8umpK13 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第三篇
redis·分布式·wpf
KmSH8umpK16 小时前
SpringBoot 分布式锁实战:从单机锁到Redis分布式锁全覆盖,解决超卖、重复下单、幂等并发问题
spring boot·redis·分布式
身如柳絮随风扬18 小时前
使用 Docker 部署禅道并实现自动化部署——从项目搭建到运维自动化的完整指南
运维·docker·自动化
eRTE XFUN19 小时前
docker下搭建redis集群
redis·docker·容器
KmSH8umpK19 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案
redis·分布式·wpf
一只小bit19 小时前
Docker 存储卷:本地文件与容器内部文件建立绑定关系
运维·docker·容器
都在酒里20 小时前
在公共服务器上构建 RK3588 SDK 的纯净 Docker 方案
运维·服务器·docker
jeCA EURG20 小时前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构