基于Docker搭建Kafka集群

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 基于Docker搭建Kafka集群是最近一直在用的技术,同时也是自己的总结,采用Docker实现三台机器的集群搭建,分分钟教你学会如何搭建。

前提准备

这里集群采用三台机器 分别是138、139和141

1、拉镜像

在机器上下载最新版本的kafka和zookeeper镜像,这里使用的是wurstmeister的镜像

docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper

iptables -I INPUT -p tcp --dport 9092 -j ACCEPT
iptables -I INPUT -p tcp --dport 2181 -j ACCEPT

2、启动138zookeeper

docker run -d 
--name zookeeper 
-p 2181:2181 
-t wurstmeister/zookeeper

3、启动138kafka

docker run -d --name kafka1 
-p 9092:9092 
#broker 的全局唯一编号,不能重复
-e KAFKA_BROKER_ID=0
-e delete.topic.enable=true
#topic 在当前 broker 上的分区个数 
-e num.partitions=1 
-e KAFKA_ZOOKEEPER_CONNECT=192.168.190.138:2181 
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.190.138:9092 
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 
-t wurstmeister/kafka

4、启动139kafka

docker run -d --name kafka2 
-p 9092:9092 
-#broker 的全局唯一编号,不能重复
-e KAFKA_BROKER_ID=1
-e delete.topic.enable=true
#topic 在当前 broker 上的分区个数 
-e num.partitions=1 
-e KAFKA_ZOOKEEPER_CONNECT=192.168.190.138:2181 
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.190.139:9092 
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 
-t wurstmeister/kafka

5、启动141kafka

docker run -d 
--name kafka3 
-p 9092:9092 
-e KAFKA_BROKER_ID=2 
-e delete.topic.enable=true 
-e num.partitions=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.190.138:2181 
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.190.141:9092 
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 
-t wurstmeister/kafka

5、用代码测试

image1.png
image2.png

6、客户端链接查看信息

image.png

相关文章
|
4天前
|
Nacos 数据中心 Docker
Docker 部署 Nacos 集群
Docker 部署 Nacos 集群
|
4天前
|
消息中间件 监控 Java
使用 JMX 监控 Kafka 集群性能指标
使用 JMX 监控 Kafka 集群性能指标
13 1
|
29天前
|
消息中间件 运维 数据管理
Kafka 如何基于 KRaft 实现集群最终一致性协调
Kafka 3.3.1 引入了 KRaft 元数据管理组件,替代 Zookeeper,以简化集群一致性维护,支持更大规模集群并减轻运维复杂性。在 Zookeeper 模式下,需同时运维 ZK 和 Broker,而 KRaft 模式仅需 3 个节点即可构成最小生产集群,且通信协调基于 Raft 协议,增强了一致性。KRaft 模式中,Controller 使用单线程处理请求,通过 KRaft 保持内存状态与多节点一致性。此外,Broker 根据 KRaft 记录更新元数据,实现声明式管理,提高集群协调效率。KRaft 的引入是集群协调机制的演进,采用事件驱动模型实现元数据的一致性。
34 1
Kafka 如何基于 KRaft 实现集群最终一致性协调
|
2天前
|
消息中间件 存储 负载均衡
Kafka高可用性指南:提高数据一致性和集群容错能力!
**Kafka高可用性概览** - 创建Topic时设置`--replication-factor 3`确保数据冗余和高可用。 - 分配角色:Leader处理读写,Follower同步数据,简化管理和客户端逻辑。 - ISR(In-Sync Replicas)保持与Leader同步的副本列表,确保数据一致性和可靠性。 - 设置`acks=all`保证消息被所有副本确认,防止数据丢失,增强一致性。 - 通过这些机制,Kafka实现了分布式环境中的数据可靠性、一致性及服务的高可用性。
23 0
|
4天前
|
消息中间件 监控 Kafka
查询Kafka集群中消费组(group)信息和对应topic的消费情况
查询Kafka集群中消费组(group)信息和对应topic的消费情况
13 0
|
28天前
|
Docker 容器
docker 运行 elasticsearch + kibana + head 集群
docker 运行 elasticsearch + kibana + head 集群
|
8天前
|
负载均衡 网络协议 开发工具
经验大分享:SRS4WebRTC集群docker安装部署:
经验大分享:SRS4WebRTC集群docker安装部署:
11 0
|
9天前
|
负载均衡 网络协议 开发工具
经验大分享:SRS4WebRTC集群docker安装部署:
经验大分享:SRS4WebRTC集群docker安装部署:
|
28天前
|
监控 Cloud Native 持续交付
实现容器集群轻松部署:Docker Swarm 集群管理解析
实现容器集群轻松部署:Docker Swarm 集群管理解析
210 0
|
1月前
|
消息中间件 数据可视化 Java
Kafka集群搭建可视化指南
Kafka集群搭建可视化指南
49 0