【上线百万】份福利积分可抽尖叫之:夜门?票

2025-07-25 06:50:42      来源:站长之家

Kafka4.0KRaft模式的“秒级启动”,是不是很爽?但真正的考验现在才开始!今天,咱们就来点硬核的:亲手搭建一个三节点的、准生产级的Kafka4.0KRaft集群!

准备好了吗?系好安全带,发车!

准备工作:三台服务器

在生产环境中,高可用是基本要求。我们将搭建一个包含3个节点的集群,这样即使挂掉一台,服务依然坚挺。

服务器:3台Linux服务器(虚拟机或物理机都行)kafka-1(IP:192.168.1.11)kafka-2(IP:192.168.1.12)kafka-3(IP:192.168.1.13)

软件:OpenJDK11或更高版本

Kafka版本:当然是最新的4.0.0!

运维避坑指南#1:确保三台服务器之间网络互通,并且防火墙开放了Kafka需要的端口(默认是9092和9093)。网络问题是集群搭建中最常见的“拦路虎”!

第一步:下载并解压Kafka

在所有三台服务器上执行以下操作:

#下载Kafka4.0.0wgethttps://downloads.apache.org/kafka/4.0.0/kafka_2.13-4.0.0.tgz#解压tar-xzfkafka_2.13-4.0.0.tgzcdkafka_2.13-4.0.0

第二步:生成集群ID

KRaft模式需要一个唯一的集群ID。我们只需要在一台服务器上生成它,然后所有节点共用。

#生成一个唯一的集群IDKAFKA_CLUSTER_ID="$(bin/kafka-storage.shrandom-uuid)"echo"你的集群ID是:$KAFKA_CLUSTER_ID"

记下这个ID,比如rQ8aQ9z1Tj-mN9yZ_wXb0w,我们马上会用到。

第三步:配置server.properties(核心中的核心!)

这是最关键的一步!我们需要为每个节点创建独立的配置文件。进入config/kraft/目录,这里有官方的模板。我们以kafka-1为例进行修改:

#进入配置目录cdconfig/kraft/#复制一份模板进行修改cpserver.propertiesserver-1.properties

打开server-1.properties,修改以下核心配置:

#【关键】节点角色:我们让每个节点都既是broker也是controllerprocess.roles=broker,controller#【关键】节点ID,每个节点必须唯一!#kafka-1设置为1,kafka-2设置为2,以此类推node.id=1#【关键】Controller投票节点列表#把所有Controller节点的node.id和IP:端口都列出来controller.quorum.voters=1@192.168.1.11:9093,2@192.168.1.12:9093,3@192.168.1.13:9093#【关键】监听器配置#broker监听来自客户端的连接,controller监听内部Raft协议的连接listeners=PLAINTEXT://:9092,CONTROLLER://:9093#【关键】广播给客户端的地址#必须是客户端能访问到的地址!advertised.listeners=PLAINTEXT://192.168.1.11:9092#日志存储目录,建议使用独立的高性能磁盘log.dirs=/var/lib/kafka/data

运维避坑指南#2:advertised.listeners是新手的噩梦!如果你发现客户端连接不上,99%是这里配错了。它必须是你的生产者/消费者能访问到的IP或域名。如果是云服务器,这里通常要配置成公网IP。

为kafka-2和kafka-3创建server-2.properties和server-3.properties,内容大部分相同,只需修改两处:

node.id分别改为2和3。

advertised.listeners的IP分别改为192.168.1.12和192.168.1.13。

第四步:格式化存储目录

在所有三台服务器上,使用我们之前生成的集群ID来格式化存储目录。

在kafka-1上执行:

bin/kafka-storage.shformat-t-cconfig/kraft/server-1.properties

在kafka-2上执行:

bin/kafka-storage.shformat-t-cconfig/kraft/server-2.properties

在kafka-3上执行:

bin/kafka-storage.shformat-t-cconfig/kraft/server-3.properties

看到Formatting...的日志就表示成功了。

第五步:启动集群

万事俱备,只欠东风!在所有三台服务器上启动Kafka服务。

在kafka-1上:

bin/kafka-server-start.sh-daemonconfig/kraft/server-1.properties

在kafka-2上:

bin/kafka-server-start.sh-daemonconfig/kraft/server-2.properties

在kafka-3上:

bin/kafka-server-start.sh-daemonconfig/kraft/server-3.properties

-daemon参数让它在后台运行。

第六步:验证集群

怎么知道我们的集群是不是成功了?创建一个Topic试试!

在任意一台Kafka服务器上执行:

#创建一个名为"hello-kraft"的Topic,3个分区,3个副本bin/kafka-topics.sh--create\--topichello-kraft\--bootstrap-server192.168.1.11:9092\--partitions3\--replication-factor3#查看Topic详情bin/kafka-topics.sh--describe\--topichello-kraft\--bootstrap-server192.168.1.11:9092

如果你能看到Topic的分区信息,并且Leader和Replicas分布在不同的节点上,那么恭喜你!你的第一个生产级Kafka4.0KRaft集群已经成功上线!

  2018年自然资源部成立后,钟自然任自然资源部党组成员,中国地质调查局局长、党组书记。直至2022年9月卸任。今年1月2日,即2024年首个工作日,其官宣被查。

责编:叶志嘉编辑

教两万人救命的医生自己牺牲了

  兰州和乌鲁木齐之前都只有一条跑道,因起降架次多,乌鲁木齐一直是国内最繁忙的单跑道机场之一。扩建后可以极大缓解这几座机场的现有压力。

美媒曝哈梅内伊正藏身地堡避险

  张先生认为,网球明星的出现与整个网球运动以及网球经济的发展是相互促进的,并形成正向反馈。他说,明星越多,示范效应就越强,就会更加刺激网球运动的发展,网球经济热度也会越高。而打网球的人多了,就会涌现出更多的网球明星。

常州气晕了一只小恐龙

  连日来,河南多地持续高温出现不同程度旱情,引发关注。目前河南情况如何?当地采取了哪些抗旱措施?国家对抗旱又有何举措?一文速览。

终于看到小说里形容的纤纤玉手了

  2023年7月,中共中央总书记、国家主席、中央军委主席习近平在四川考察时指出,四川要发挥高校和科研机构众多、创新人才集聚的优势和产业体系较为完善、产业基础雄厚的优势,在科技创新和科技成果转化上同时发力。

上饶鄱阳县一中考返程大巴发生车祸

  据四川省政府官网介绍,四川是国家系统推进全面创新改革试验的八个区域之一,拥有中国(四川)自由贸易试验区、成都国家自主创新示范区、天府新区、绵阳科技城、攀西战略性资源创新开发试验区等多个重大区域创新平台。

隔夜蛋糕好吃

  博汇股份被要求补税5亿元,则是因为公司生产的重芳烃衍生品被税务部门认定需要按照重芳烃缴纳消费税,博汇股份对此不认同,最终是否补税、如何补税等仍有待税企双方良性沟通。/p>

杨紫差点让胡歌提前杀青

  靳东,1976年出生于山东省,毕业于中央戏剧学院,国家一级演员,曾获得“青年五四奖章”先进个人、“全国德艺双馨电视艺术工作者”等荣誉称号。他还是第十四届全国政协委员。/p>

新一代人才与共生共长

  中国煤矿文工团成立于1947年东北解放区,是国家级艺术院团中历史最悠久的单位之一。2005年,加挂了“中国安全生产艺术团”的牌子。2018年9月,转隶到文化和旅游部。