当前位置:首页 > 后端开发 > 正文内容

Kraft形式下Kafka脚本的运用

邻居的猫1个月前 (12-09)后端开发982

Kafka集群 版别:V3.5.1

称号 Node1 Node2 Node3
IP 172.29.145.157 172.29.145.182 172.29.145.183

(1)检查Kraft集群中的状况以及Leader节点,投票节点
运用--status能够检查集群推举次数/水位线以及投票节点等
运用--replication能够检查Ledaer和Follower散布

运用kafka-metadata-quorum.sh

./kafka-metadata-quorum.sh --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 describe --replication
image

./kafka-metadata-quorum.sh --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 describe --status
image

(2)检查Kraft集群中的Topic
运用--list能够检查一切的topic
运用--describe --topic topicname能够检查指定topic的分区状况和副本同步状况

运用kafka-topics.sh

./kafka-topics.sh --list --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092
image

./kafka-topics.sh --describe --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 --topic test-topic1
image

(3)发动与封闭Kraft集群
发动集群时必定需求增加--daemon参数以后台看护进程运转

运用kafka-server-start.sh
运用kafka-server-stop.sh

./kafka-server-start.sh -daemon ../config/kraft/server.properties
发动后能够运用jps来检查kafka集群是否发动成功
image

封闭集群也需求加上参数server.properties
./kafka-server-stop.sh ../config/kraft/server.properties

(4)测验集群功能

运用kafka-producer-perf-test.sh出产数据
运用kafka-consumer-perf-test.sh消费数据

./kafka-producer-perf-test.sh --producer-props bootstrap.servers=172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 --topic test-topic1 --num-records 1000000 --record-size 4096 --throughput 50000

--topic指定topic
--producer.config指定配置文件
--num-records指定出产者发生的音讯数量
--record-size指定一条音讯的巨细KB为单位
--throughput指定出产者每秒写入的音讯数量约束(吞吐量),-1则为不约束

image
反应的目标是出产者发送了一百万条音讯,每秒出产音讯15377条(出产速率60MB/s),均匀时延394毫秒,后续便是各种时延的散布规模

PS:优化,调优batch-size,增大throughput,指定配置文件,acks恰当调整
image
如上图显现,推迟降低了

./kafka-consumer-perf-test.sh --topic test-topic1 --messages 1000000 --fetch-size 40000 --broker-list 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092

运用--topic指定topic
运用--messages指定需求消费的音讯数量
运用--fetch-size指定一次获取的音讯总巨细
运用broker-list来指定消费的broker

image
反应的目标是 Kafka集群消费100万条音讯用时23秒,音讯总巨细3906MB,均匀每秒消费速率168MB,音讯总数量1000015条,每秒消费音讯数量43185条

(5)指令行验证出产实时消费

运用kafka-console-producer.sh实时出产音讯
运用kafka-console-consumer.sh实时消费音讯

./kafka-console-producer.sh --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 --topic test-topic2

image

./kafka-console-consumer.sh --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 --topic test-topic2

image

一起在Kafka管控平台上也能够实时查询到test-topic2上的音讯
image

一起咱们也能够指定offset来使顾客从指定offset开端消费,关于出产环境有利于毛病康复
./kafka-console-consumer.sh --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 --topic test-topic2 --partition 1 --offset 2
能够看到由于输入的音讯key相同所以音讯都分到了partition1上,所以在消费音讯时需求指定分区partition1,然后指定offset音讯位移量2,就能够读取到offset=2对应的音讯3以及之后的一切音讯了

image

(6)查询顾客组信息

运用kafka-consumer-groups.sh

./kafka-consumer-groups.sh --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 --list

image

./kafka-consumer-groups.sh --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 --group perf-consumer-91301 --describe
经过--list查询到顾客组列表再经过--describe查询详细信息

image

能够看到在test-topic1主题上的partition5和partition0的Lag为18,代表着两个分区还有18条音讯没有消费,经过kafka-console-consumer.sh测验消费partition5的剩下18条音讯
./kafka-console-consumer.sh --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 --topic test-topic1 --group perf-consumer-91301

ps:许多许多音讯,由于输入的时分一条音讯的巨细由--record-size决议,设置为4096KB...
此刻再经过describe检查顾客组状况看在partition5和partition0上是否还有音讯Lag

image
能够看到音讯都消费完了,Lag也已为0,再履行相同的指令只会等候而不会持续输出音讯

(7)检查checkpoint,snapshot,log等文件

(1)检查元数据分区Log文件
留意:--cluster-metadata-decoder合适运用在检查__cluster_metadata分区下的log文件
一般数据分区就只需求--files指定即可
/opt/kafka/bin/kafka-dump-log.sh --cluster-metadata-decoder --files 00000000000045962075.log

image
image
检查Topic分区数据Log文件
/opt/kafka/bin/kafka-dump-log.sh --files 00000000000000000033.log --print-data-log

--print-data-log能够检查事务数据的详细信息
假如要检查某个分区的音讯数量就需求 grep -c "payload",留意假如存在log分片的状况,就需求对两个log别离计数然后叠加数量

(2)检查snapshot文件
Snapshot文件是某个快照时刻点的完好元数据状况,存在快照的状况下,kafka会读取最新的snapshot康复到最近的元数据状况,再从快照偏移量开端读取log文件重放快照偏移量之后的操作,这样能够保证仅重放快照之后的改变操作,防止重复处理现已包含在快照中的改变

(3)检查checkpoint文件
/opt/kafka/bin/kafka-dump-log.sh --cluster-metadata-decoder --files 00000000000046109500-0000000378.checkpoint
image

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=235

分享给朋友:

“Kraft形式下Kafka脚本的运用” 的相关文章

go人体,基因本体与生物信息学的桥梁

go人体,基因本体与生物信息学的桥梁

您好,关于“go人体”的搜索结果中,大部分内容与围棋相关,并未找到直接与“人体”相关的信息。请问您是否需要了解有关围棋的内容,例如围棋的基本规则、历史背景、艺术价值等?如果您有其他具体需求,请告诉我,我会尽力为您提供帮助。探索GO人体:基因本体与生物信息学的桥梁随着生物信息学的发展,基因本体(Gen...

java重定向,什么是请求重定向?

在Java中,重定向通常指的是将用户从一个URL重定向到另一个URL。这可以通过几种不同的方式实现,具体取决于你是在Servlet、JSP还是其他Java应用程序上下文中工作。 1. 使用Servlet重定向在Servlet中,你可以使用`HttpServletResponse`对象的`sendRe...

go安装器,Go安装器——安卓用户体验谷歌服务的利器

go安装器,Go安装器——安卓用户体验谷歌服务的利器

您好,请问您是想了解Go语言的安装方法,还是想下载安卓设备上的Go安装器呢?Go安装器——安卓用户体验谷歌服务的利器随着移动互联网的快速发展,越来越多的用户开始关注安卓系统的应用生态。由于地区限制,部分用户无法直接在安卓设备上使用谷歌服务。为了解决这一问题,Go安装器应运而生,成为安卓用户体验谷歌服...

go ski,Go Ski 滑雪体验全攻略

滑雪地点推荐中国有许多著名的滑雪胜地,以下是几个推荐:1. 亚布力滑雪场(黑龙江):中国最大的综合性滑雪训练和比赛基地,雪质优良,雪期长达五个月,被誉为“中国的达沃斯”。2. 万龙滑雪场(河北):北京周边最大的滑雪场,雪道多样,适合各种水平的滑雪爱好者。3. 长白山滑雪场(吉林):依托长白山独特的...

rust服务器

1. Rust Web 全栈开发 课程简介:这门课程涵盖了使用 Rust 编写 Web 服务器的各个方面,包括 TCP 和 HTTP 服务器的构建。它使用 Rust 标准库中的 `std::net` 模块来创建 TCP 服务器和客户端。 2. 多线程 Web 服务器 实现方法:通过为每个请求分配...

java开源项目,助力开发者高效编程的利器

java开源项目,助力开发者高效编程的利器

1. JavaGuide 提供了丰富的Java开源项目资源,包括框架、工具和教程等,灵感来源于 awesomejava 项目。你可以访问以下链接了解 2. CSDN 上有多篇文章介绍了基于Spring Boot的优质Java开源项目,涵盖了电商、微服务、支付、秒杀、博客、管理后台等多个...