【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
相关推荐
難釋懷31 分钟前
分布式锁-redission锁的MutiLock原理
分布式
Warren981 小时前
接口测试理论
docker·面试·职场和发展·eureka·ansible
杭州杭州杭州1 小时前
Docker
运维·docker·容器
小北方城市网2 小时前
RabbitMQ 生产级实战:可靠性投递、高并发优化与问题排查
开发语言·分布式·python·缓存·性能优化·rabbitmq·ruby
乾元2 小时前
拒绝服务的进化:AI 调度下的分布式协同攻击策略
人工智能·分布式
编程彩机2 小时前
互联网大厂Java面试:从分布式事务到微服务优化的技术场景解读
java·spring boot·redis·微服务·面试·kafka·分布式事务
听麟3 小时前
HarmonyOS 6.0+ PC端多设备文件拖拽协同开发实战:手眼同行增强与分布式软总线深度应用
分布式·华为·harmonyos
等什么君!3 小时前
Docker 数据卷:MySQL 数据同步实战
运维·docker·容器
礼拜天没时间.3 小时前
《Docker实战入门与部署指南:从核心概念到网络与数据管理》:环境准备与Docker安装
运维·网络·docker·容器·centos
indexsunny3 小时前
互联网大厂Java面试实战:从Spring Boot到Kafka的技术与业务场景解析
java·spring boot·redis·面试·kafka·技术栈·microservices