docker搭建kafka

1、docker直接拉取kafka和zookeeper的镜像

bash 复制代码
docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper 

2、首先需要启动zookeeper,如果不先启动,启动kafka没有地方注册消息

bash 复制代码
10.10.0.67内网ip

docker run -it --name zookeeper -p 9140:2181 -d wurstmeister/zookeeper:latest

# 启动kafka容器,注意需要启动三台,注意端口的映射,都是映射到9092
# 第一台
docker run -it --name kafka01 -p 9141:9092 -d -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=10.10.0.67:9140 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.10.0.67:9141 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka:latest
# 第二台
docker run -it --name kafka02 -p 9142:9092 -d -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=10.10.0.67:9140 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.10.0.67:9142 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka:latest
# 第三台
docker run -it --name kafka03 -p 9143:9092 -d -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=10.10.0.67:9140 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.10.0.67:9143 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka:latest

具体命令
随意进入一个容器
下面都是是cd /opt/kafka_2.13-2.8.1/bin运行
cd /opt/kafka_2.13-2.8.1/bin

# 创建topic名称为first,3个分区,1个副本
./kafka-topics.sh --zookeeper 10.10.0.67:9140 --create --topic first --replication-factor 1 --partitions 3

# 查看first此topic信息
./kafka-topics.sh --zookeeper 10.10.0.67:9140 --describe --topic first


# 调用生产者生产消息
./kafka-console-producer.sh --broker-list 10.10.0.67:9141,10.10.0.67:9142,10.10.0.67:9143 --topic first


# 调用消费者消费消息,from-beginning表示读取全部的消息
./kafka-console-consumer.sh --bootstrap-server 10.10.0.67:9141,10.10.0.67:9142,10.10.0.67:9143 --topic first --from-beginning




删除topic
软删除
具体命令./kafka-topic.sh --zookeeper 10.10.0.67:9140 --delete --topic second
真删除
运行后可以看到删除的时候只是被标记为删除marked for deletion并没有真正的删除,如果需要真正的删除,需要再config/server.properties中设置delete.topic.enable=true


修改分区数
./kafka-topics.sh --zookeeper 10.10.0.67:9140 --alter --topic test2 --partitions 3

生产者截图

消费者截图

相关推荐
不能只会打代码9 分钟前
校享云 — 高校智慧后勤平台微服务架构设计与实践
spring cloud·docker·微服务·nacos·vue·校享云
csdn2015_1 小时前
kafka如何确保消息不丢失
数据库·分布式·kafka
前端Baymax2 小时前
kube-proxy iptables模式下NodePort间歇性超时
docker·容器·kubernetes
一只积极向上的小咸鱼3 小时前
多机Docker + InfiniBand 分布式运行实操手册
分布式·docker·容器
java_logo3 小时前
Docker 部署 WPS 在线办公套件,浏览器即可编辑 Word、Excel、PPT
docker·word·wps·wps部署教程·wps免费版·轩辕镜像·docker部署教程
AI服务老曹3 小时前
Docker部署AI视频分析平台项目实战记录
人工智能·docker·音视频
留不住的何止是时间3 小时前
关于docker构建镜像build指令的注意事项
运维·docker·容器
小兔崽子去哪了18 小时前
Docker 删除镜像后磁盘空间没有释放?
后端·docker·容器
wuqingshun31415918 小时前
说一下 Kafka 中关于事务消息的实现?
分布式·kafka
Zhu75819 小时前
在Docker环境部署ApacheGuacamole,对接PG数据库
数据库·docker·容器