[转帖]Kafka-Kraft 模式架构部署

kafka,kraft,模式,架构,部署 · 浏览次数 : 0

小编点评

**Kafka 模式架构部署** **步骤 1:下载二进制包** 访问官方网站 (kafka.apache.org/PS) 中的最新版本 (3.4.0)。下载二进制包,并在 `kafka_2.12-3.4.0.tgz` 中解压缩。 **步骤 2:修改配置文件** 打开 `server.properties` 文件,修改 `listeners` 和 `log.dirs` 配置项。例如: ```properties # Listeners configuration listeners=PLAINTEXT,tcp://192.168.12.134:9093 # Log directory configuration log.dirs=./kafka_storage.log ``` **步骤 3:启动 Kafka 服务** 在 `node01` 上运行 `bin/kafka-server-start.sh` 命令,将配置文件作为参数传递。例如: ```bash bin/kafka-server-start.sh config/kraft/server.properties ``` **步骤 4:启动其他服务** 在其他 `node` 上执行相同的命令,将配置文件作为参数传递。例如: ```bash bin/kafka-server-start.sh config/kraft/server.properties ``` **步骤 5:测试集群** 访问 `./kafka-topics.sh` 文件,运行 `--create` 参数以创建 `test5` 主题。然后,访问 `kafka-topics.sh` 文件,运行 `--list` 参数以查看主题列表。 **步骤 6:访问主题** 使用 `./kafka-clients.sh` 文件中的 `Consumer` 类在其他节点上创建消费者,并连接到 Kafka 集群。例如: ```bash kafka-clients.sh ``` **命令测试** 在 `node01` 上运行以下命令,以测试集群: ```bash ./kafka-topics.sh --create --bootstrap-server 192.168.1.10:9093 --replication-factor 2 --partitions 5 --topic test5.Kafka ``` 这将创建一个名为 `test5` 的主题,并设置 2 个副本和 5 个分区。

正文

 

Kafka-Kraft 模式架构部署

Kafka网址:https://kafka.apache.org/

PS:因环境原因此文档内端口都有修改!

1.去官网下载二进制包

PS:3.4.0是目前最新的版本!需要jdk1.8及以上版本启动。

[root@k8s-node1 ~]# wget https://downloads.apache.org/kafka/3.4.0/kafka_2.12-3.4.0.tgz
[root@k8s-node1 ~]# tar zxvf kafka-3.4.0-src.tgz 
[root@k8s-node1 ~]# cd kafka_2.12-3.4.0/
[root@k8s-node1 kafka_2.12-3.4.0]# ls 
bin  config  libs  LICENSE  licenses   NOTICE  site-docs 

2.修改配置文件

[root@k8s-node1 ~]# cd kafka_2.12-3.4.0/config/kraft/
[root@k8s-node1 kraft]# vim server.properties
......
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.10:9093,CONTROLLER://192.168.12.10:9094
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.10:9093
log.dirs=logs
  • process.roles:kafka的角色 controller相当于主、broker节点相当于从,主类似zk功能;
  • node.id:节点ID标识每台机器;
  • controller.quorum.voters:controller角色的集群IP+访问端口;
  • listeners:代理将用于创建服务器套接字的内容;
  • inter.broker.listener.name:内部角色代理名称(主从可配置PLAINTEXT,从配置CONTROLLER);
  • advertised.listeners:角色代理向外暴露的IP+端口;
  • log.dirs:数据日志文件及Kafka启动生成的UUID存储位置;

集群内配置文件示例:

PS:配置文件内是三controller,五broker;

#node1
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.10:9093,CONTROLLER://192.168.12.10:9094
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.10:9093
log.dirs=logs
#node2
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.11:9093,CONTROLLER://192.168.12.11:9094
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.11:9093
log.dirs=logs
#node3
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.12:9093,CONTROLLER://192.168.12.12:9094
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.12:9093
log.dirs=logs
#node4
process.roles=broker
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.13:9093
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.13:9093
log.dirs=logs
#node5
process.roles=broker
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.14:9093
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.14:9093
log.dirs=logs

3.启动

3.1 在node01执行

# 生成集群uuid
[root@k8s-node1 kafka_2.12-3.4.0]# KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"# 格式日志目录
[root@k8s-node1 kafka_2.12-3.4.0]# bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties 

3.2 在集群内剩余机器执行

# 格式日志目录
[root@k8s-node2 kafka_2.12-3.4.0]# bin/kafka-storage.sh format -t (node01生成的UUID) -c config/kraft/server.properties
[root@k8s-node3 kafka_2.12-3.4.0]# bin/kafka-storage.sh format -t (node01生成的UUID) -c config/kraft/server.properties 
[root@k8s-node4 kafka_2.12-3.4.0]# bin/kafka-storage.sh format -t (node01生成的UUID) -c config/kraft/server.properties 
[root@k8s-node5 kafka_2.12-3.4.0]# bin/kafka-storage.sh format -t (node01生成的UUID) -c config/kraft/server.properties 

3.3 启动Kafka

[root@k8s-node1 kafka_2.12-3.4.0]#  bin/kafka-server-start.sh config/kraft/server.properties
[root@k8s-node1 kafka_2.12-3.4.0]# ss -lnt| grep -E '9093|9094'
LISTEN     0      50     [::ffff:192.168.12.134]:9093                  [::]:*                  
LISTEN     0      50     [::ffff:192.168.12.134]:9094                  [::]:*

PS:9093是PLAINTEXT的端口,9094是broker的端口。

4.命令测试Kafka集群

[root@k8s-node1 kafka_2.12-3.4.0]# ./kafka-topics.sh --create --bootstrap-server 192.168.1.10:9093 --replication-factor 2 --partitions 5 --topic test

5.Kafka Map 测试访问

PS:Kafka Map是一款可视化平台软件,可参考链接自行搭建。 https://gitee.com/dushixiang/kafka-map/

与[转帖]Kafka-Kraft 模式架构部署相似的内容:

[转帖]Kafka-Kraft 模式架构部署

news文章来源: Kafka-Kraft 模式架构部署 Kafka网址:https://kafka.apache.org/ PS:因环境原因此文档内端口都有修改! 1.去官网下载二进制包 PS:3.4.0是目前最新的版本!需要jdk1.8及以上版本启动。 [root@k8s-node1 ~]# w

[转帖]【Kafka】(二)Kafka去Zookeeper化,kraft模式搭建

1.简介 由于zookeeper慢慢的成了kafka的瓶颈,kafka提出了去zookeeper化的概念,并在2.8版本之后版本都包含了kraft模式,也就是不需要使用zookeeper了,目前这种模式还不成熟,企业中使用kafka还是推荐使用zk+kafka的方式,否则可能会出现意想不到的错误。

[转帖]Kafka高可用 — KRaft集群搭建

Apache Kafka Raft 是一种共识协议,它的引入是为了消除 Kafka 对 ZooKeeper 的元数据管理的依赖,被社区称之为 Kafka Raft metadata mode,简称 KRaft 模式。本文介绍了KRaft模式及三节点的 KRaft 集群搭建。 1 KRaft介绍 KR

[转帖]Kafka高可用 — KRaft集群搭建

Apache Kafka Raft 是一种共识协议,它的引入是为了消除 Kafka 对 ZooKeeper 的元数据管理的依赖,被社区称之为 Kafka Raft metadata mode,简称 KRaft 模式。本文介绍了KRaft模式及三节点的 KRaft 集群搭建。 1 KRaft介绍 KR

[转帖]kafka搭建kraft集群模式

kafka2.8之后不适用zookeeper进行leader选举,使用自己的controller进行选举 1.准备工作 准备三台服务器 192.168.3.110 192.168.3.111 192.168.3.112,三台服务器都要先安装好jdk1.8,配置好环境变量, 下载好kafka3.0.0

[转帖]解释docker单机部署kraft模式kafka集群时,尝试各种方式的网络broker全部不通而启动失败的原因,并提示常见bug关注点

现象: controller节点与其他两个broker的通信失败。公网ip,宿主机ip,服务名,各种网络方式,都无法成功。 两点提示: 1.bug原因:因为单机内存不够用,设置了较低的 KAFKA_HEAP_OPTS 参数值128M,导致broker通信失败! 2.kafka容器启动中,增加 BIT

[转帖]无需 zookeeper 安装 kafka 集群 (kakfa3.0 版本)

https://xie.infoq.cn/article/7769ef4576a165f7bdf142aa3 一、kafka 集群实例角色规划 在 kafka3.0 中已经可以将 zookeeper 去掉,使用 kraft 机制实现 controller 主控制器的选举。所以我们先简单了解下 kaf

[转帖]无需 zookeeper 安装 kafka 集群 (kakfa3.0 版本)

https://xie.infoq.cn/article/7769ef4576a165f7bdf142aa3 一、kafka 集群实例角色规划 在 kafka3.0 中已经可以将 zookeeper 去掉,使用 kraft 机制实现 controller 主控制器的选举。所以我们先简单了解下 kaf

[转帖]Kafka 基本概念大全

https://my.oschina.net/jiagoushi/blog/5600943 下面给出 Kafka 一些重要概念,让大家对 Kafka 有个整体的认识和感知,后面还会详细的解析每一个概念的作用以及更深入的原理 ・Producer:消息生产者,向 Kafka Broker 发消息的客户端

[转帖]Kafka 与RocketMQ 落盘机制比较

https://www.jianshu.com/p/fd50befccfdd 引言 前几期的评测中,我们对比了Kafka和RocketMQ的吞吐量和稳定性,本期我们要引入一个新的评测标准——软件可靠性。 何为“可靠性”? 先看下面这种情况:有A,B两辆越野汽车,在城市的周边地区均能很好应对泥泞的路况