首页 游戏 软件 资讯 排行榜 专题
首页
科技数码
Zookeeper与Kafka高可用集群部署:保姆级实战指南

Zookeeper与Kafka高可用集群部署:保姆级实战指南

热心网友
75
转载
2025-10-31

今天为大家带来一份详细的ZooKeeper与Kafka集群搭建指南。虽然新版Kafka已经能够脱离ZooKeeper实现高可用,但在企业级应用中,ZooKeeper+Kafka这对黄金搭档仍然是主流选择。

Kafka作为分布式消息中间件,能够与Flink、Spark、ELK、日志采集等组件无缝集成,构建强大的实时数据处理平台。

接下来我们将通过实际操作,一步步完成ZooKeeper+Kafka集群的部署。理论学习固然重要,但动手实践更能加深理解,让我们先把集群环境搭建起来。

篇幅较长,建议先收藏!

一、基础环境准备

1. 服务器规划

建议准备3台服务器,构建高可用集群环境。

2. 环境依赖

三台服务器均需执行以下操作:

(1) 修改主机名

# 节点1hostnamectl set-hostname node1# 节点2hostnamectl set-hostname node2# 节点3 hostnamectl set-hostname node3

(2) 安装 JDK 1.8+

下载JDK安装包:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

也可以直接通过yum安装OpenJDK,速度更快

# 将下载上传三个服务器后解压到/data盘tar -xvf jdk-8u461-linux-x64.tar.gz -C /data

配置环境变量:

vi /etc/profile

在文件末尾添加以下内容:

export JAVA_HOME=/data/jdk1.8.0_461export JAVA_BIN=$JAVA_HOME/binexport CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_BIN

让配置生效:

source /etc/profile

(3) 关闭防火墙

测试环境可关闭,生产需开放端口。

systemctl stop firewalldsystemctl disable firewalld

(4) 配置主机名解析

cat >> /etc/hosts << EOF10.0.0.190 node110.0.0.191 node210.0.0.192 node3EOF

(5) 关闭SELinux

# 永久关闭sed -i 's/enforcing/disabled/' /etc/selinux/config # 临时setenforce 0

二、部署 Zookeeper 集群

Kafka依赖ZooKeeper管理集群状态,因此需要先安装ZooKeeper。可以先在一个节点下载配置,完成后复制到其他节点即可。

1. 下载并解压(节点1操作)

# 下载,可以选择合适的版本下载wget https://downloads.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz# 解压tar -xvf apache-zookeeper-3.8.4-bin.tar.gz -C /data

2. 配置 zoo.cfg

# 进入配置文件目录cd /data/apache-zookeeper-3.8.4-bin/conf# 复制参考配置文件cp zoo_sample.cfg zoo.cfg# 修改配置文件,主要修改下面两项dataDir=/data/zookeeper/dataserver.1=node1:2888:3888server.2=node2:2888:3888server.3=node3:2888:3888

参数解析:

dataDir:存储快照和myid文件的路径。 server.X:集群成员配置,其中2888端口:内部通信端口,与Leader通信;3888端口:用于选举Leader。

3. 拷贝到另外两个节点

scp -r /data/apache-zookeeper-3.8.4-bin root@10.0.0.191:/datascp -r /data/apache-zookeeper-3.8.4-bin root@10.0.0.192:/data

4. 配置节点 ID

# 每个节点新建文件夹mkdir -p /data/zookeeper/data# 节点1echo 1 > /data/zookeeper/data/myid # 节点2echo 2 > /data/zookeeper/data/myid# 节点3echo 3 > /data/zookeeper/data/myid

5. 配置环境变量

将zookeeper加入环境变量,方便后期启动。三个节点均需配置。

vi /etc/profile # 尾部添加export ZOOKEEPER_HOME=/data/apache-zookeeper-3.8.4-binexport PATH=$ZOOKEEPER_HOME/bin:$PATH# 使配置文件生效source /etc/profile

6. 启动 Zookeeper

zkServer.sh startzkServer.sh status

确认3台机器都正常启动,其中两台为follower,一台为leader,则ZooKeeper集群安装成功。

三、部署 Kafka 集群

1. 下载并解压

跟ZooKeeper一样,先在节点1下载,配置完后复制到另外两个节点。

# 下载安装包wget https://downloads.apache.org/kafka/3.9.1/kafka_2.13-3.9.1.tgz# 解压到/data目录tar -xvf kafka_2.13-3.9.1.tgz -C /data

2. 修改配置文件

进入到安装目录,编辑配置文件server.properties。

cd /data/kafka_2.13-3.9.1/configvi server.properties

修改下面信息

broker.id=1 # 不得重复,整个集群中唯一listeners=PLAINTEXT://10.0.0.190:9092 # 监听端口log.dirs=/data/kafka/logszookeeper.connect=node1:2181,node2:2181,node3:2181num.partitions=3

参数解析:

broker.id:Kafka Broker唯一ID,node1=1,node2=2,node3=3。 listeners:服务监听地址和端口。需要换成真实的IP地址,每个节点填本机IP地址。 log.dirs:存储Kafka消息日志的目录。建议挂载大容量磁盘。 num.partitions:Topic默认分区数,决定并行消费能力。 zookeeper.connect:连接zookeeper。

3. 配置拷贝到另外两个节点

scp -r /data/kafka_2.13-3.9.1 root@10.0.0.191:/datascp -r /data/kafka_2.13-3.9.1 root@10.0.0.192:/data

注意:节点2和节点3需要修改broker.id和listeners两个配置

新建日志目录(每个节点操作)

mkdir -p /data/kafka/logs

4. 配置环境变量

将kafka加入环境变量,方便后期启动。三个节点均需配置。

vi /etc/profile # 尾部添加export KAFKA_HOME=/data/kafka_2.13-3.9.1export PATH=$KAFKA_HOME/bin:$PATH# 使配置文件生效source /etc/profile

5. 启动 Kafka

kafka-server-start.sh -daemon /data/kafka_2.13-3.9.1/config/server.properties

三台机器依次启动Kafka。可以看到kafka进程已正常启动。

四、测试验证

1. 创建 Topic

kafka-topics.sh --create --topic test \--bootstrap-server node1:9092,node2:9092,node3:9092 \--partitions 3 --replication-factor 3

参数解析:

--partitions 3:分区数,决定并发度。 --replication-factor 3:副本数,保证容错能力。

2. 查看 Topic

kafka-topics.sh --list --bootstrap-server node1:9092

3. 生产消息

kafka-console-producer.sh --broker-list node1:9092 --topic test> hello lige> hello kafka

4. 消费消息

kafka-console-consumer.sh --bootstrap-server node2:9092 --topic test --from-beginning

至此,集群搭建完成。

来源:https://www.51cto.com/article/824978.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

十万个why:想 Kafka 暂停消费,为什么别直接用 Thread.sleep?
业界动态
十万个why:想 Kafka 暂停消费,为什么别直接用 Thread.sleep?

Kafka消费限流:别用Thread sleep,这才是正确的“暂停”姿势 在Kafka的消费端配置里,有一个参数至关重要:max poll interval ms。它的默认值通常是5分钟,但不少团队为了能更快地感知到消费者故障,会把它设得更短。这个参数定义了消费者连续两次调用poll()方法的最大

热心网友
04.29
kafka消息加密能完全安全吗
网络安全
kafka消息加密能完全安全吗

Kafka消息加密能完全安全吗? 直接抛出结论:Kafka的消息加密机制在很大程度上是可靠的,但若要说“完全安全”,恐怕任何系统都不敢打这个包票。安全从来不是一劳永逸的状态,而是一个动态的、需要持续维护的过程。下面,我们就来拆解一下Kafka加密的安全边界与潜在风险。 Kafka消息加密的安全性:一

热心网友
04.25
kafka消息加密对性能影响多大
网络安全
kafka消息加密对性能影响多大

Kafka消息加密对性能的影响有多大? 谈到Kafka消息加密,很多开发者第一反应就是:这会不会拖慢系统?答案是肯定的,但事情远非“拖慢”二字那么简单。性能影响具体有多大,其实是一个多变量方程,核心变量包括你选择的加密算法、底层硬件配置,以及最关键的——你的实际应用场景。加密和解密操作确实会消耗额外

热心网友
04.25
kafka消息加密有哪些有效方法
网络安全
kafka消息加密有哪些有效方法

Kafka消息加密:守护数据流动的“安全通道” 在数据驱动业务的时代,消息队列中的信息往往价值连城。如何确保这些数据在传输和存储过程中不被窥探或篡改,是每个架构师都必须面对的课题。好消息是,为Kafka消息披上“加密铠甲”有多种成熟可靠的方案,它们从不同层面构筑起安全防线。 下面,我们就来拆解几种核

热心网友
04.25
kafka消息日志如何进行日志加密
网络安全
kafka消息日志如何进行日志加密

Kafka消息日志加密:从传输层到应用层的安全实践 在数据安全日益重要的今天,Kafka消息日志的加密配置已成为系统架构中不可或缺的一环。简单来说,为Kafka配置SSL TLS证书,是实现传输层加密、确保数据在传输过程中不被窥探的通行做法。不过,这里有个关键点需要厘清:Kafka本身并不直接提供端

热心网友
04.25

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

刺鸟创客AI内容创作平台高效稳定使用指南
AI教程
刺鸟创客AI内容创作平台高效稳定使用指南

在内容创作领域,效率与质量是每一位创作者必须平衡的核心课题。选择一个功能强大的专业平台,能够有效提升产出能力与作品水准。本文将为您深度解析“刺鸟创客”——一个专为写作者设计的AI辅助创作平台,看看它如何成为您创作路上的得力助手。 核心定位与独特优势 刺鸟创客是一个集专业内容生产、高效创作流程与稳定服

热心网友
05.24
欧拉蜜人工智能开放平台OLAMI功能详解与使用指南
AI教程
欧拉蜜人工智能开放平台OLAMI功能详解与使用指南

在人工智能技术快速发展的当下,如何让开发者高效、便捷地将AI能力集成到自己的产品中,已成为一个关键课题。市场上有多种平台提供此类服务,其中OLAMI欧拉蜜人工智能开放平台,是一个值得开发者重点关注的解决方案。 概括而言,OLAMI欧拉蜜是一个综合性的AI开放平台。它集成了云端API接口、便捷的管理后

热心网友
05.24
文心快码使用指南与高效编程技巧
AI教程
文心快码使用指南与高效编程技巧

文心快码是什么? 在软件开发领域,提升编码效率是开发者永恒的追求。百度推出的文心快码(Baidu Comate),正是这样一款基于百度文心大模型打造的智能编程助手。它深度融合了百度在人工智能与编程领域的海量数据与深厚技术积累,旨在为开发者提供实时的AI辅助。自2023年6月发布以来,文心快码快速迭代

热心网友
05.24
Hey Friday公文写作助手使用指南与技巧
AI教程
Hey Friday公文写作助手使用指南与技巧

在内容创作领域,效率与质量往往难以兼顾。是否存在一款工具,能够像一位不知疲倦的助手,将您的灵感迅速转化为结构严谨、语言流畅的优质文章?今天我们将深入探讨的HeyFriday,正是这样一款旨在解决此痛点的智能写作助手。 HeyFriday是什么? 简而言之,HeyFriday是一个专注于帮助用户高效生

热心网友
05.24
改图鸭AI绘画在线图像处理工具使用指南
AI教程
改图鸭AI绘画在线图像处理工具使用指南

在当今数字化时代,无论是社交媒体运营、内容创作还是日常办公,一款简单易用且功能强大的在线图片编辑工具都显得尤为重要。改图鸭作为一款全面的在线图像处理平台,集成了多种实用功能,让用户无需下载复杂的专业软件,直接在浏览器中就能完成绝大多数常见的图片编辑需求,大大提升了工作效率。 核心功能:从基础编辑到智

热心网友
05.24