Kafka 常用运维脚本

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: Kafka 常用运维脚本

集群管理



(1)启动 broker

$ bin/kafka-server-start.sh daemon <path>/server.properties


(2)关闭 broker

$ bin/kafka-server-stop.sh


topic 管理



kafka-topics.sh 脚本

# 创建主题
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --partitions 64 --replication-factor 3 --topic test-topic --config xxxxx
# 删除主题(delete.topic.enable=true)
$ bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test-topic
# 查询主题列表
$ bin/kafka-topics.sh --zookeeper localhost:2181 --list
# 查询主题详情
$ bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic test-topic
# 修改主题
$ bin/kafka-topics.sh --alter --zookeeper localhost:2181 --partitions 64 --topic test-topic
# ...

640.png


consumer 相关管理



(1)查询消费组

kafka-consumer-groups.sh

$ bin/kafka-consumer-groups.sh --bootstrap-server localhost:9200 --group test-group --describe

640.png

(2)重设消费组位移

$ bin/kafka-consumer-groups.sh --bootstrap-server localhost:9200 --group test-group --reset-offsets --topic test-topic --to-earliest --execute

640.png

(3)删除消费组

$ bin/kafka-consumer-groups.sh --bootstrap-server localhost:9200 --delete --group test-group


topic 分区管理


(1)preferred leader 选举

$ bin/kafka-preferred-replica-election.sh --zookeeper localhost:2181 --path-to-json-file <path>/preferred-leader-plan.json
# {"partitions":[{"topic":"test-topic","partition":0}]}

image.gif640.png


(2)分区重分配

# 生成分配策略
$ bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --topics-to-move-json-file topics-to-move.json --broker-list "5,6" --generate
# 执行分配策略
$ bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file cluster-reassignment.json --execute
# 验证分配
$ bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file cluster-reassignment.json --verify
# 可通过编写分配策略,增加副本因子 略


Kafka 常见脚本工具



(1)kafka-console-producer.sh

$ bin/kafka-console-producer.sh --broker-list localhost:9200 --topic test --request-required-acks all --timeout 3000 --message-send-max-retries 3

640.png

image.gif

(2)kafka-console-consumer.sh

$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9200 --topic test --from-beginning

640.png

(3)生产者性能测试

$ bin/kafka-producer-perf-test.sh --topic test-topic-5 --num-records 500000000000 --record-size 200 --throughput 200 --producer-props bootstrap.servers=localhost:9092,localhost:9093,localhost:9094 acks=-1


(4)消费者性能测试

$ bin/kafka-consumer-perf-test.sh --topic-list localhost:9200 --message-size 200 --messages 50000 --topic test-topic


(5)查看消息元数据

$ bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files /dfs5/kafka/data/secLog-2/00000000000110325000.log --print-data-log --deep-iteration > secLog.log


(6)获取 topic 当前消息数

# 获取当前最大位移
$ bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9200 --topic test --time -1
# 当前获取最早位移
$ bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9200 --topic test --time -2
# 以上两个数相减,即可得出 topic 当前在集群的消息总数


相关文章
|
2月前
|
运维 Java Shell
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
120 0
|
8月前
|
运维 Shell
运维(15)-shell脚本的调试方法
运维(15)-shell脚本的调试方法
56 0
|
1月前
|
运维 监控 关系型数据库
运维实战:Windows服务挂掉了怎么办,通过Bat脚本实现自动重启
本文介绍了如何使用Bat脚本自动监控并重启Windows服务器上的挂掉服务,例如MySQL,以避免在假期等情况下需要紧急处理问题。首先,创建一个Bat脚本,设定每小时检查一次服务状态,如果服务停止则自动重启。脚本内容包括检查服务是否运行并根据状态执行相应操作。同时,脚本中包含了确保以管理员权限运行的代码。 脚本需设置为ANSI编码以防止乱码。推荐将Bat脚本封装为Windows服务以保证稳定运行,提供了使用NSSM工具、Windows服务程序和开源的Java工具winsw将批处理脚本转化为服务的方法。这些方法可以确保服务在后台可靠运行,即使在服务意外停止时也能自动恢复。
|
13天前
|
人工智能 运维 自然语言处理
自动化运维的演进之路:从脚本到智能化管理
随着信息技术的快速发展,自动化运维已经从简单的脚本执行演变为复杂的智能化系统。本文将深入探讨自动化运维的发展脉络,从早期的脚本化工具,到当下流行的配置管理和DevOps实践,再到未来可能实现的AI驱动的运维模式。通过分析不同阶段的技术特点和挑战,揭示自动化运维如何提升效率、减少错误并预测潜在问题。
|
14天前
|
人工智能 运维 物联网
自动化运维的演进之路:从脚本到AI
【6月更文挑战第30天】自动化运维,作为提升IT效率和稳定性的关键手段,经历了从简单的脚本编写到集成复杂人工智能技术的跨越。本文将探讨自动化运维的发展历程,分析当前技术趋势,并展望未来可能的变革。
|
19天前
|
消息中间件 Kafka
KafKa脚本操作
KafKa脚本操作
11 1
|
23天前
|
运维 监控 应用服务中间件
自动化脚本:提升运维效率的秘诀
**自动化脚本提升服务器管理效率:** - 数据库备份脚本自动执行mysqldump,保证数据安全。 - DoS防护脚本监测Nginx日志,异常IP自动屏蔽。 - 实时网卡流量监控脚本展示网络流量,辅助异常检测。 - 配置邮件发送环境,利用mailx发送告警通知。 - Nginx日志按天切割脚本优化存储,日志分析脚本提供访问洞察。 这些脚本简化运维工作,增强系统安全与响应能力。
26 6
|
24天前
|
机器学习/深度学习 人工智能 运维
自动化运维的崛起:从脚本到智能
【6月更文挑战第20天】在数字化时代,自动化运维不再是一个选择,而是企业追求效率和稳定性的必要条件。本文将探讨自动化运维的发展轨迹,从最初的脚本编写到现今的智能化工具应用,揭示自动化技术如何重塑IT运维领域,提升业务连续性和敏捷性。
|
29天前
|
运维 监控 API
自动化运维实践指南:Python脚本优化服务器管理任务
本文探讨了Python在自动化运维中的应用,介绍了使用Python脚本优化服务器管理的四个关键步骤:1) 安装必备库如paramiko、psutil和requests;2) 使用paramiko进行远程命令执行;3) 利用psutil监控系统资源;4) 结合requests自动化软件部署。这些示例展示了Python如何提升运维效率和系统稳定性。
42 8
|
10天前
|
机器学习/深度学习 运维 物联网
自动化运维的进阶之路:从脚本到智能化
在数字化转型的浪潮中,自动化运维不再是可选项,而是企业持续竞争力的核心要素。本文旨在探讨自动化运维的演变轨迹,分析从基础脚本编写到复杂系统整合、再到智能化运维平台的跃迁过程中的关键技术和实践挑战,并提供面向未来的策略建议。