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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 消息中间件系列教程(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



目录
相关文章
|
1月前
|
消息中间件 存储 监控
构建高可用性Apache Kafka集群:从理论到实践
【10月更文挑战第24天】随着大数据时代的到来,数据传输与处理的需求日益增长。Apache Kafka作为一个高性能的消息队列服务,因其出色的吞吐量、可扩展性和容错能力而受到广泛欢迎。然而,在构建大规模生产环境下的Kafka集群时,保证其高可用性是至关重要的。本文将从个人实践经验出发,详细介绍如何构建一个高可用性的Kafka集群,包括集群规划、节点配置以及故障恢复机制等方面。
88 4
|
2月前
|
消息中间件 监控 数据可视化
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
98 2
|
1天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
21天前
|
消息中间件 缓存 监控
go高并发之路——消息中间件kafka
本文介绍了高并发业务中的流量高峰应对措施,重点讲解了Kafka消息中间件的使用,包括常用的Go语言库sarama及其版本问题,以及Kafka的版本选择建议。文中还详细解释了Kafka生产者的四种分区策略:轮询、随机、按Key和指定分区,并提供了相应的代码示例。
go高并发之路——消息中间件kafka
|
5天前
|
消息中间件 存储 Kafka
2024最全Kafka集群方案汇总
Apache Kafka 是一个高吞吐量、可扩展、可靠的分布式消息系统,广泛应用于数据驱动的应用场景。Kafka 支持集群架构,具备高可用性和容错性。其核心组件包括 Broker(服务器实例)、Topic(消息分类)、Partition(有序消息序列)、Producer(消息发布者)和 Consumer(消息消费者)。每个分区有 Leader 和 Follower,确保数据冗余和高可用。Kafka 2.8+ 引入了不依赖 Zookeeper 的 KRaft 协议,进一步简化了集群管理。常见的集群部署方案包括单节点和多节点集群,后者适用于生产环境以确保高可用性。
13 0
|
1月前
|
消息中间件 存储 Prometheus
Kafka集群如何配置高可用性
Kafka集群如何配置高可用性
|
2月前
|
消息中间件 分布式计算 监控
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
101 6
|
2月前
|
消息中间件 中间件 Kafka
解锁Kafka等消息队列中间件的测试之道
在这个数字化时代,分布式系统和消息队列中间件(如Kafka、RabbitMQ)已成为日常工作的核心组件。本次公开课由前字节跳动资深专家KK老师主讲,深入解析消息队列的基本原理、架构及测试要点,涵盖功能、性能、可靠性、安全性和兼容性测试,并探讨其主要应用场景,如应用解耦、异步处理和限流削峰。课程最后设有互动答疑环节,助你全面掌握消息队列的测试方法。
|
2月前
|
消息中间件 Kafka API
|
3月前
|
消息中间件 Kafka API
kafka使用教程
kafka使用教程