Kafka入门, Kafka-Kraft 模式 部署(二十六)

Kafka-Kraft 模式

Kafka入门, Kafka-Kraft 模式 部署(二十六)_第1张图片
左图为kafka现有架构,元数据在zookeeper中,运行时动态选举controller,由controller进行kafka集群管理,右图为kraft模式架构(实验性),不再依赖zookeeper集群,而是用三台controller节点代替zookeeper,元数据保存在controller中,由controller直接2进行kafka集群管理
好处:
1、kafka不再依赖外部框架,二十能够独立运行
2、controller管理集群时,不再需要从zookeeper中先读取数据,集群性能上升
3、由于不依赖zookeeper,集群拓展不再收到zookeeper读写能力限制
4、controller不再东药选举,而是由配置文件规定,这样我们可以针对性的加强controller节点的配置,而不是像以前一样对随机controller节点的高负债束手无策

部署

修改配置

解压
修改config/kraft/server.properties下的
注意路径

vim config/kraft/server.properties

Kafka入门, Kafka-Kraft 模式 部署(二十六)_第2张图片
Kafka入门, Kafka-Kraft 模式 部署(二十六)_第3张图片
修改这4个地方
分发 修改其他节点的node.id=2和advertised.Listeners

初始化集群

bin/kafka-storage.sh random-uuid

在这里插入图片描述

用该 ID (id要相同)格式化 kafka 存储目录,三台机器都要执行

bin/kafka-storage.sh format -t qtUYZ6KhQ5mlAxIg-T0M5w -c /usr/local/src/kafka/kraft/kafka_2.12-3.0.0/config/kraft/server.propertie

在这里插入图片描述

启动命令

bin/kafka-server-start.sh -daemon config/kraft/server.properties

停止命令

bin/kafka-server-stop.sh

脚本

#! /bin/bash
case $1 in
"start"){
 for i in hadoop100 hadoop101 hadoop102
 do
 echo " --------启动 $i Kafka2-------"
 ssh $i "/usr/local/src/kafka/kraft/kafka_2.12-3.0.0/bin/kafka-server-start.sh -daemon /usr/local/src/kafka/kraft/kafka_2.12-3.0.0/config/kraft/server.properties"
 done
};;
"stop"){
 for i in hadoop102 hadoop103 hadoop104
 do
 echo " --------停止 $i Kafka2-------"
 ssh $i "/usr/local/src/kafka/kraft/kafka_2.12-3.0.0/bin/kafka-server-stop.sh "
 done
};;
esac

Kafka入门, Kafka-Kraft 模式 部署(二十六)_第4张图片

你可能感兴趣的:(kafka,分布式)