做网站域名要自己注册吗,郴州市做网站,沈阳网站设计运营公司,个人营销网站文章目录简介基础环境服务器三台安装下载安装初始化集群启动集群验证创建Topic查看Topic详情简介
Apache 软件基金会发布了包含许多新特性和改进的 Kafka 3.3.1。这是第一个标志着可以在生产环境中使用 KRaft#xff08;Kafka Raft#xff09;共识协议的版本。在几年的开发过…
文章目录简介基础环境服务器三台安装下载安装初始化集群启动集群验证创建Topic查看Topic详情简介
Apache 软件基金会发布了包含许多新特性和改进的 Kafka 3.3.1。这是第一个标志着可以在生产环境中使用 KRaftKafka Raft共识协议的版本。在几年的开发过程中它先是在 Kafka 2.8 早期访问版本中发布然后又在 Kafka 3.0 预览版本中发布。
KRaft 是一种共识协议可以直接在 Kafka 中管理元数据。元数据的管理被整合到了 Kafka 当中而不需要使用像 ZooKeeper 这样的第三方工具这大大简化了 Kafka 的架构。这种新的 KRaft 模式提高了分区的可伸缩性和弹性同时简化了 Kafka 的部署现在可以不依赖 ZooKeeper 单独部署 Kafka 了。
KRaft 使用了 Raft 共识算法的一种基于事件的变体因此得名。
基础环境
服务器三台
172.16.1.1 bigdata-1
172.16.1.2 bigdata-2
172.16.1.3 bigdata-3
JDK 1.8
安装
下载
下载地址https://downloads.apache.org/kafka/3.4.0/kafka_2.12-3.4.0.tgz
在/opt目录下解压
tar -zxvf kafka_2.12-3.4.0.tgz 安装
进入/opt/kafka_2.12-3.4.0/config/kraft目录
cd /opt/kafka_2.12-3.4.0/config/kraft修改server.properties配置文件
process.rolesbroker,controller
# 节点ID自己设置每个节点的值要不同
node.id1
# Controller节点配置用于管理状态的节点替换Zookeeper作用
controller.quorum.voters1172.16.1.1:9093,2172.16.1.2:9093,3172.16.1.3:9093
listenersPLAINTEXT://:9092,CONTROLLER://:9093
inter.broker.listener.namePLAINTEXT
# 使用IP端口每个节点填写自己节点的IP
advertised.listenersPLAINTEXT://172.16.1.1:9092
controller.listener.namesCONTROLLER
listener.security.protocol.mapCONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
num.network.threads3
num.io.threads8
socket.send.buffer.bytes102400
socket.receive.buffer.bytes102400
socket.request.max.bytes104857600
num.partitions1
num.recovery.threads.per.data.dir1
offsets.topic.replication.factor1
transaction.state.log.replication.factor1
transaction.state.log.min.isr1
log.retention.hours168
log.segment.bytes1073741824
log.retention.check.interval.ms300000
# 数据存储位置
log.dirs/opt/kafka/data三台服务器配置文件都需要修改不同的地方为
# 节点ID自己设置每个节点的值要不同
node.id1
# 使用IP端口每个节点填写自己节点的IP
advertised.listenersPLAINTEXT://172.16.1.1:9092初始化集群 在其中一台服务器上执行下面命令生成一个uuid sh bin/kafka-storage.sh random-uuid2kBbskpoS0aYrSeJk-HVfw用该uuid格式化kafka存储目录三台服务器都要执行以下命令
sh bin/kafka-storage.sh format -t 2kBbskpoS0aYrSeJk-HVfw -c config/kraft/server.properties启动集群
三台都需要启动
sh bin/kafka-server-start.sh -daemon config/kraft/server.properties在日志中可以查看到启动成功
[2023-04-06 21:10:22,705] INFO [KafkaRaftServer nodeId1] Kafka Server started (kafka.server.KafkaRaftServer)在进程中可以看到Kafka进程
# jps
29128 Jps
28875 Kafka验证
创建Topic
# sh bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic test --partitions 3 --replication-factor 3
Created topic test.查看Topic详情
# sh bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe test
Topic: test TopicId: LB20VbGWTvOi7IgVqTsC3g PartitionCount: 3 ReplicationFactor: 3 Configs: segment.bytes1073741824Topic: test Partition: 0 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3Topic: test Partition: 1 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1Topic: test Partition: 2 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2