消息中间件系列教程(20) -Kafka-集群搭建

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 消息中间件系列教程(20) -Kafka-集群搭建

引言

Kafka集群搭建主要分为两步:

  1. 搭建Zookeeper集群
  2. 搭建Kafka集群

搭建原理图如下:

集群环境准备:

服务器 备注
192.168.162.131 搭建Zookeeper、Kafka
192.168.162.132 搭建Zookeeper、Kafka
192.168.162.133 搭建Zookeeper、Kafka

注意:每台服务器节点都要安装jdk1.8环境

1. Zookeeper集群搭建

1.1 「192.168.162.131环境搭建」

1.下载Zookeeper

cd /usr/local
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

2.解压安装包

tar -zxvf zookeeper-3.4.10.tar.gz

3.重命名

mv zookeeper-3.4.10 zookeeper-kafka

4.重命名zoo_sample.cfg文件为zoo.cfg

cd /usr/local/zookeeper-kafka/conf
mv zoo_sample.cfg zoo.cfg

5.修改zoo.cfg文件

vi zoo.cfg

6.创建文件夹data

cd /usr/local/zookeeper-kafka/
mkdir data

7.创建文件myid,并填写服务器标志0

vi myid

保存:

:wq

8.关闭防火墙

systemctl stop firewalld.service

1.2 「192.168.162.132、192.168.162.133」环境搭建

步骤1~8环境的搭建都一样,除了第7步myid的填写:

  • 服务器192.168.162.132 的myid填写为1
  • 服务器192.168.162.133 的myid填写为2

1.3 启动测试Zookeeper集群

1.每台服务器启动zookeeper(启动之前务必没有运行之前的zookeeper,因为端口号为2181,不然端口会冲突)

/usr/local/zookeeper-kafka/bin/zkServer.sh start

2.查看状态,可以看到133为主服务器,131、132为从服务器。

/usr/local/zookeeper-kafka/bin/zkServer.sh status

可以看到Zookeeper集群成功!

2. Kafka集群搭建

2.1 「192.168.162.131环境搭建」

1.下载kafka安装包:

cd /usr/local
wget https://archive.apache.org/dist/kafka/1.0.0/kafka_2.11-1.0.0.tgz

2.解压安装包并重命名

tar -zxvf kafka_2.11-1.0.0.tgz
mv kafka_2.11-1.0.0 kafka

3.修改kafka文件夹里的配置文件

vi /usr/local/kafka/config/server.properties

修改内容:

broker.id=0
listeners=PLAINTEXT://192.168.162.131:9092
zookeeper.connect=192.168.162.131:2181,192.168.162.132:2181,192.168.162.133:2181

2.2 「192.168.162.132、192.168.162.133环境搭建」

剩余两台服务器跟192.168.162.131配置的3个步骤一样,除了第3个步骤,配置不同:

192.168.162.132:

broker.id=1
listeners=PLAINTEXT://192.168.162.132:9092
zookeeper.connect=192.168.162.131:2181,192.168.162.132:2181,192.168.162.133:2181

192.168.162.133:

broker.id=2
listeners=PLAINTEXT://192.168.162.133:9092
zookeeper.connect=192.168.162.131:2181,192.168.162.132:2181,192.168.162.133:2181

2.3 启动测试

1.启动kafka

/usr/local/kafka/bin/kafka-server-start.sh -daemon config/server.properties

2.查看kafka是否启动成功

ps -ef|grep kafka

如果显示如下,表示启动成功:

2.其中一台服务器(192.168.162.131)创建一个名为“test”的topic,它有一个分区和一个副本:

/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

3.现在我们可以运行list命令来查看这个topic(或者,您也可将代理配置为:在发布的topic不存在时,自动创建topic,而不是手动创建):

/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181



目录
相关文章
|
2月前
|
消息中间件 存储 中间件
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
153 0
|
24天前
|
消息中间件 Kafka
kafka 集群环境搭建
kafka 集群环境搭建
44 8
|
29天前
|
存储 弹性计算 负载均衡
中间件冗余部署集群(Clustering)
【7月更文挑战第22天】
29 3
|
8天前
|
消息中间件 Java Kafka
Linux——Kafka集群搭建
Linux——Kafka集群搭建
20 0
|
13天前
|
消息中间件 Kafka Apache
部署安装kafka集群
部署安装kafka集群
|
1月前
|
消息中间件 监控 Java
使用 JMX 监控 Kafka 集群性能指标
使用 JMX 监控 Kafka 集群性能指标
110 1
|
2月前
|
消息中间件 运维 数据管理
Kafka 如何基于 KRaft 实现集群最终一致性协调
Kafka 3.3.1 引入了 KRaft 元数据管理组件,替代 Zookeeper,以简化集群一致性维护,支持更大规模集群并减轻运维复杂性。在 Zookeeper 模式下,需同时运维 ZK 和 Broker,而 KRaft 模式仅需 3 个节点即可构成最小生产集群,且通信协调基于 Raft 协议,增强了一致性。KRaft 模式中,Controller 使用单线程处理请求,通过 KRaft 保持内存状态与多节点一致性。此外,Broker 根据 KRaft 记录更新元数据,实现声明式管理,提高集群协调效率。KRaft 的引入是集群协调机制的演进,采用事件驱动模型实现元数据的一致性。
88 1
Kafka 如何基于 KRaft 实现集群最终一致性协调
|
1月前
|
消息中间件 NoSQL Kafka
消息中间件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之间的区别
消息中间件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之间的区别
|
1月前
|
消息中间件 存储 负载均衡
Kafka高可用性指南:提高数据一致性和集群容错能力!
**Kafka高可用性概览** - 创建Topic时设置`--replication-factor 3`确保数据冗余和高可用。 - 分配角色:Leader处理读写,Follower同步数据,简化管理和客户端逻辑。 - ISR(In-Sync Replicas)保持与Leader同步的副本列表,确保数据一致性和可靠性。 - 设置`acks=all`保证消息被所有副本确认,防止数据丢失,增强一致性。 - 通过这些机制,Kafka实现了分布式环境中的数据可靠性、一致性及服务的高可用性。
155 0
|
1月前
|
消息中间件 监控 Kafka
查询Kafka集群中消费组(group)信息和对应topic的消费情况
查询Kafka集群中消费组(group)信息和对应topic的消费情况
285 0

热门文章

最新文章