2022-06-29 17:01阅读: 6197评论: 4推荐: 1

docker部署Kafka集群(Kafka新版本,不使用zookeeper)

参考-->官方文档

主机ip 服务
192.168.86.59 Kafka
192.168.86.20 Kafka
192.168.86.43 Kafka

创建

在主机为192.168.86.59上的docker-compose.yaml

version: "3"
services:
   kafka:
     image: 'bitnami/kafka:latest'
     user: root
     ports:
       - '9092:9092'
     environment:
       - KAFKA_ENABLE_KRAFT=yes
       - KAFKA_CFG_PROCESS_ROLES=broker,controller
       - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
       - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
       - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
       - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.86.59:9092
       - KAFKA_BROKER_ID=1
       - KAFKA_KRAFT_CLUSTER_ID=LelM2dIFQkiUFvXCEcqRWA
       - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@192.168.86.59:9093,2@192.168.86.20:9093,3@192.168.86.43:9093
       - ALLOW_PLAINTEXT_LISTENER=yes
     volumes:
       - /data/deploy/kafkaCluster/kraft:/bitnami/kafka:rw
     network_mode: host

启动: docker-compose up -d

在192.168.86.20上的docker-compose.yaml

version: "3"
services:
   kafka:
     image: 'bitnami/kafka:latest'
     user: root
     ports:
       - '9092:9092'
     environment:
       - KAFKA_ENABLE_KRAFT=yes
       - KAFKA_CFG_PROCESS_ROLES=broker,controller
       - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
       - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
       - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
       - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.86.20:9092
       - KAFKA_BROKER_ID=2
       - KAFKA_KRAFT_CLUSTER_ID=LelM2dIFQkiUFvXCEcqRWA
       - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@192.168.86.59:9093,2@192.168.86.20:9093,3@192.168.86.43:9093
       - ALLOW_PLAINTEXT_LISTENER=yes
     volumes:
       - /data/deploy/kafkaCluster/kraft:/bitnami/kafka:rw
     network_mode: host

启动:docker-compose up -d

在192.168.86.43上的docker-compose.yaml

version: "3"
services:
   kafka:
     image: 'bitnami/kafka:latest'
     user: root
     ports:
       - '9092:9092'
     environment:
       - KAFKA_ENABLE_KRAFT=yes
       - KAFKA_CFG_PROCESS_ROLES=broker,controller
       - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
       - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
       - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
       - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.86.43:9092
       - KAFKA_BROKER_ID=3
       - KAFKA_KRAFT_CLUSTER_ID=LelM2dIFQkiUFvXCEcqRWA
       - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@192.168.86.59:9093,2@192.168.86.20:9093,3@192.168.86.43:9093
       - ALLOW_PLAINTEXT_LISTENER=yes
     volumes:
       - /data/deploy/kafkaCluster/kraft:/bitnami/kafka:rw
     network_mode: host

启动: docker-compose up -d

测试

1.在Broker 1上创建一个副本为3、分区为5的topic用于测试
因Kafka的topic所有分区会分散在不同Broker上,所以该topic的5个分区会被分散到3个Broker上,其中有两个Broker得到两个分区,另一个Broker只有1个分区。该结论在下面将会得到验证
cd bin

kafka-topics.sh --create --topic foo --partitions 5 --replication-factor 3 --bootstrap-server 192.168.86.59:9092,192.168.86.20:9092,192.168.86.43:9092

查看topic列表
kafka-topics.sh --list --bootstrap-server 192.168.86.59:9092,192.168.86.20:9092,192.168.86.43:9092

查看topic详细信息
kafka-topics.sh --describe --topic foo --bootstrap-server 192.168.86.59:9092,192.168.86.20:9092,192.168.86.43:9092

开启消费者
kafka-console-consumer.sh --bootstrap-server 192.168.86.59:9092,192.168.86.20:9092,192.168.86.43:9092 --topic foo
我在192.168.86.59和192.168.20上开启消费者,在192.168.86.43上开启生产者

开启生产者
kafka-console-producer.sh --broker-list 192.168.86.59:9092,192.168.86.20:9092,192.168.86.43:9092 --topic foo
在43上随便输入一个值

在59和20上查看

删除topic

只有生产者和消费都退出了才能删除
kafka-topics.sh --delete --topic foo --bootstrap-server 192.168.86.59:9092,192.168.86.20:9092,192.168.86.43:9092

本文作者:freedomAndWind

本文链接:https://www.cnblogs.com/linjiangplus/p/16424137.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   freedomAndWind  阅读(6197)  评论(4编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 Meet Fi9江澈,果妹
Meet - Fi9江澈,果妹
00:00 / 00:00
An audio error has occurred.

作词 : Fi9江澈

作曲 : Fi9江澈

她不是很瘦 她的个子也够不高

她不是很瘦 她的个子也够不高

她有时很逗 有时候 她也够SAO

每次她化完妆盯着问我 我会说她很丑

但每次离开的时候 我们互相 谁都不肯走

她爱吃粉丝的醋 也爱跟我 生气

她做傻事的时候 也都是和我会有争议

她不化妆的时候 我会刻意的说她很漂亮

总爱素颜的时候 去和别的女生去较量

她喜欢我性格的好 和行为上的屌丝

喜欢我的城市还有运河街道边的小吃

她有时很任性 莫名的跟我吵架

每次她耍小性子 也都会被我都一顿的好骂

她叫我玩游戏 我总故意不跟她玩

每次吵架的时候 总骂我是个渣男

她会讨好我爸妈 也会买礼物给悄悄

每次 卖萌 我也心领神会的笑笑

HOOK:街边的落雨下 我在这个小小世界

你走进我生命 又出现在我面前

谁又能代替呢 我所有的留恋

每次的遇见都是我们的永恒的瞬间

她一直都很敏感 总是常常怕我失去

她不知道 在我心里 她是我写下的诗句

她会在心情不好的时候 跟朋友去酗酒

大醉之后会说以后的路 她会陪着我去走

总爱问我分手了 会不会像以前 那样去对她

提些奇怪的问题 手机屏保为什不是她

说我对你这么好 你竟然想要跟我分手

哎 这个贱男人 我就知道 你可真狗

这个不可理喻的女人让我又爱又恨

生病的时候让人心疼 看起来又乖又笨

就算吵架的时候 不爱跟你讲道理

在人群中我依然 一眼就能找到你

我可以为 她遮风为她挡雨

也可以陪她一整天 依偎在我房里

还记得第一次见她 是我 第一次的演出

还记得她也曾在 夜里 为我闭着眼哭

HOOK:街边的落雨下 我在这个小小世界

你走进我生命 又出现在我面前

谁又能代替呢 我所有的留恋

每次的遇见都是我们的永恒的瞬间

街边的落雨下 我在这个小小世界

你走进我生命 又出现在我面前

谁又能代替呢 我所有的留恋

每次的遇见都是我们的永恒的瞬间

混音:Fi9江澈

混音:Fi9江澈

统筹:杨冰

OP:汇音文化