当前位置: 首页 > article >正文

【kafka】大数据编写kafka命令使用脚本,轻巧简洁实用kafka

kafka是大数据技术中举足轻重的技术,市面上也有很多kafka的ui界面,但是都会占用比较大的内存和性能,这里我编写好了一个fakfa的脚本集成了kafka常见的命令使用。脚本资源放在文章顶部可自行拿取。

《Kafka 命令大全系统脚本使用指南》

在大数据处理领域,Kafka 作为一款高性能的分布式消息队列系统,其命令行操作对于数据的生产、消费以及管理至关重要。今天我们将深入介绍一款自制的 Kafka 命令大全系统脚本,它能帮助我们更加便捷地执行各种 Kafka 操作。

一、脚本功能概述

这个脚本提供了一个用户友好的界面,整合了常见的 Kafka 操作功能,包括主题操作、生产者操作、消费者操作、配置操作、消费者组操作以及生产者和消费者的性能测试。通过简单的数字选择,用户可以轻松地进入相应的操作菜单,执行所需的命令,大大提高了操作效率。

二、脚本使用步骤

(一)启动脚本

在终端中执行脚本后,会呈现以下初始界面:

Kafka 命令大全系统:
1. 主题操作(topics)
2. 生产者操作(producer)
3. 消费者操作(consumer)
4. 配置操作(configs)
5. 消费者组操作(consumer groups)
6. 生产者性能测试(producer perf test)
7. 消费者性能测试(consumer perf test)
0. 退出

用户需要根据需求输入相应的功能选项数字。

(二)主题操作(topics)

  1. 查看所有主题(1)
    • 选择“1. 查看所有主题”后,脚本会执行 kafka - topics.sh --bootstrap - server bigdata01:9092 --list 命令,列出当前 Kafka 集群中的所有主题。这有助于用户快速了解集群中的主题分布情况。
  2. 创建主题(2)
    • 选择“2. 创建主题”时,用户需要依次输入主题名称、分区数(必须为整数)和副本数(整数且不超过可用 broker 数量)。例如:
      • 输入主题名称,如“test_topic”。
      • 输入分区数,假设为“3”。
      • 输入副本数,假设为“2”。
    • 脚本会执行 kafka - topics.sh --bootstrap - server bigdata01:9092 --create --partitions 3 --replication - factor 2 --topic test_topic 命令来创建主题。
  3. 查看某主题详细信息(3)
    • 首先会列出当前可用主题列表,然后用户输入要查看详细信息的主题名称。脚本会执行 kafka - topics.sh --bootstrap - server bigdata01:9092 --describe --topic [主题名称] 命令,展示主题的分区数、副本分布、领导者信息以及每个分区的 ISR(同步副本集合)等详细信息。
  4. 修改某主题分区数(4)
    • 同样先列出主题列表,用户输入要修改分区数的主题名称,接着输入新的分区数(整数且大于当前分区数)。例如,将某个主题的分区数从 2 修改为 4。脚本会执行 kafka - topics.sh --bootstrap - server bigdata01:9092 --alter --topic [主题名称] --partitions 4 命令来完成分区数的修改。
  5. 删除主题(5)
    • 先列出主题列表,用户输入要删除的主题名称,脚本执行 kafka - topics.sh --bootstrap - server bigdata01:9092 --delete --topic [主题名称] 命令来删除指定主题。

(三)生产者操作(producer)

  1. 发送消息到指定主题(1)
    • 选择“1. 发送消息到指定主题”后,先列出可用主题列表,用户输入要发送消息的主题名称,如“test_topic”。然后就可以输入消息内容,输入“EXIT”可退出发送。脚本会使用 kafka - console - producer.sh --bootstrap - server bigdata01:9092 --topic test_topic 命令将消息发送到指定主题。

(四)消费者操作(consumer)

  1. 消费指定主题的最新消息(1)
    • 先列出主题列表,用户输入要消费消息的主题名称,如“test_topic”。脚本执行 kafka - console - consumer.sh --bootstrap - server bigdata01:9092 --topic test_topic 命令,从主题的当前偏移量开始消费最新消息。
  2. 从主题开头消费所有消息(2)
    • 列出主题列表后,用户输入主题名称,脚本执行 kafka - console - consumer.sh --bootstrap - server bigdata01:9092 --from - beginning --topic [主题名称] 命令,从主题的开头开始消费所有消息。

(五)配置操作(configs)

  1. 查看主题配置(1)
    • 列出主题列表后,用户输入要查看配置的主题名称,脚本执行 kafka - configs.sh --bootstrap - server bigdata01:9092 --describe --entity - type topics --entity - name [主题名称] 命令,展示主题的各种配置参数,如消息保留策略、压缩类型等。
  2. 修改主题配置(2)
    • 先列出主题列表,用户输入要修改配置的主题名称,接着输入配置项名称(如 retention.msretention.bytes 等)和配置项值。脚本执行 kafka - configs.sh --bootstrap - server bigdata01:9092 --alter --entity - type topics --entity - name [主题名称] --add - config [配置项名称]=[配置项值] 命令来修改主题配置。

(六)消费者组操作(consumer groups)

  1. 查看消费者组列表(1)
    • 选择“1. 查看消费者组列表”,脚本执行 kafka - consumer - groups.sh --bootstrap - server bigdata01:9092 --list 命令,列出当前 Kafka 集群中的所有消费者组。
  2. 查看消费者组详情(2)
    • 先列出消费者组列表,用户输入要查看详情的消费者组名称,脚本执行 kafka - consumer - groups.sh --bootstrap - server bigdata01:9092 --describe --group [消费者组名称] 命令,展示消费者组的状态、成员信息以及每个成员的消费偏移量等详细信息。
  3. 重置消费者组偏移量(3)
    • 用户先输入要重置偏移量的消费者组名称和主题名称,脚本执行 kafka - consumer - groups.sh --bootstrap - server bigdata01:9092 --reset - offsets --group [消费者组名称] --topic [主题名称] --to - earliest 命令,将消费者组的偏移量重置为最早位置,即从主题开头重新消费。

(七)生产者性能测试(producer perf test)

  1. 执行生产者性能测试(1)
    • 列出主题列表后,用户输入要测试的主题名称,如“test_topic”。然后依次输入要发送的记录数量(整数)和每条记录的大小(整数,单位字节)。假设发送 1000 条记录,每条记录大小为 100 字节。脚本执行 kafka - producer - perf - test.sh --topic test_topic --num - records 1000 --record - size 100 --throughput - 1 --producer - props bootstrap.servers = bigdata01:9092 命令来测试生产者的性能,包括发送速率、吞吐量等指标。
  2. 查看可用主题列表(2)
    • 选择“2. 查看可用主题列表”,脚本执行 kafka - topics.sh --bootstrap - server bigdata01:9092 --list 命令,方便用户选择要测试的主题。

(八)消费者性能测试(consumer perf test)

  1. 执行消费者性能测试(1)
    • 列出主题列表后,用户输入要测试的主题名称,如“test_topic”。脚本执行 kafka - consumer - perf - test.sh --broker - list bigdata01:9092 --topic test_topic --messages 100000 命令,测试消费者从主题消费消息的性能,如消费速率等指标。
  2. 查看可用主题列表(2)
    • 选择“2. 查看可用主题列表”,脚本执行 kafka - topics.sh --bootstrap - server bigdata01:9092 --list 命令,帮助用户确定测试主题。

(九)退出脚本(0)

选择“0. 退出”,脚本会结束运行。

三、注意事项

  1. 在创建主题时,要确保输入的分区数和副本数符合实际需求和集群资源情况。分区数过多可能导致管理复杂,副本数过高会占用较多存储资源。
  2. 修改主题分区数时,新分区数必须大于当前分区数,否则操作会失败。
  3. 在执行性能测试时,要根据实际情况合理设置测试参数,如记录数量和记录大小,避免对集群造成不必要的负载。

通过这个 Kafka 命令大全系统脚本,无论是初学者还是有经验的开发者,都能更加高效地管理和操作 Kafka 集群,实现数据的流畅生产、消费和处理。希望这篇博客能帮助大家更好地理解和使用这个脚本,在 Kafka 应用开发中发挥更大的作用。


http://www.kler.cn/a/388562.html

相关文章:

  • mongoDB的安装及使用
  • 机器学习day3-KNN算法、模型调优与选择
  • 【再谈设计模式】抽象工厂模式~对象创建的统筹者
  • Toeplitz矩阵循环矩阵
  • sql专题 之 sql的执行顺序
  • AI写作(四)预训练语言模型:开启 AI 写作新时代(4/10)
  • docker-compose 部署ntp时间同步服务(tmpfs例子)
  • 三菱MR-J4-B系列伺服参数一览
  • 第26天 安全开发-PHP应用模板引用Smarty渲染MVC模型数据联动RCE安全
  • 多线程编程中,使用 std::mutex 需要注意一些潜在的问题
  • 机器人开发:从零开始构建你的第一个机器人
  • 实验(未完成)
  • 43.第二阶段x86游戏实战2-提取游戏里面的lua
  • 宏观经济学笔记
  • PyQt5 详细安装与配置教程及使用
  • CSS的配色
  • 阿尔特曼:AGI 和 ASI 将在未来几千天内到来
  • 【SSL-RL】自监督强化学习:随机潜在演员评论家 (SLAC)算法
  • 几种QQuickWidget与Qml交互数据的方法
  • 深入理解 Git 及其工具的用途、使用方法与区别
  • 项目功能--会员数量折线图
  • 【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整试卷
  • EPLAN商业版与教育版的功能区别有多大
  • 「QT」几何数据类 之 QPoint 整型点类
  • 学习日记_20241110_聚类方法(K-Means)
  • MatSci-LLM ——潜力和挑战以及大规模语言模型在材料科学中的应用