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

生产者截图

消费者截图

相关推荐
唯情于酒3 小时前
Docker学习
学习·docker·容器
喵叔哟4 小时前
20.部署与运维
运维·docker·容器·.net
德育处主任7 小时前
『NAS』在群晖部署一个文件加密工具-hat.sh
前端·算法·docker
运维栈记9 小时前
虚拟化网络的根基-网络命名空间
网络·docker·容器
Hellc00710 小时前
Docker网络冲突排查与解决方案:完整指南
网络·docker·容器
hanyi_qwe10 小时前
发布策略 【K8S (三)】
docker·容器·kubernetes
眠りたいです10 小时前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器
德育处主任11 小时前
『NAS』在群晖部署图片压缩工具-Squoosh
前端·javascript·docker
Mr. Cao code12 小时前
Docker数据管理:持久化存储最佳实践
java·docker·容器