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

server/2024/11/14 2:40:31/

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.ppmy.cn/server/141740.html

相关文章

从零创建vue+elementui+sass+three.js项目

初始化: vue init webpack projectnamecd projectnamenpm install支持sass: npm install sass --save-dev npm install sass-loader7.1.0 --save-dev npm install node-sass4.12.0 --save-devbuild/webpack.base.conf.js添加 rules: [...,{test: /\.scss$/,loade…

【MATLAB源码-第292期】基于matlab的4ASK调制解调窄带通信系统仿真,输出各节点波形图以及误码率曲线图。

操作环境: MATLAB 2022a 1、算法描述 窄带通信系统是指带宽较小、频谱利用效率较低的通信系统。与宽带通信系统相比,窄带系统的特点是信号的带宽相对较窄,因此需要更精确的调制技术来实现有效的通信。在窄带通信中,常见的调制方…

中文分词模拟器

题目描述 给定一个连续不包含空格的字符串,该字符串仅包含英文小写字母及英文标点符号(逗号、分号、句号),同时给定词库,对该字符串进行精确分词。 说明: 精确分词:字符串分词后,不…

计算机网络易混淆知识点串记

文章目录 计算机网络易混淆知识点串记各层PDU首部: 计算机网络易混淆知识点串记 各层PDU首部: PUD首部长度 (B:字节)首部单位数据链路–帧帧首:14B帧尾部:4B——IPV420~60字节4B [通过4位二进制表示]IPV6固定首部40字节[可拓展]4BTCP20~60字节4BUDP8B字节

Python处理PDF组件使用及注意事项

在 Python 中处理 PDF 文件时, 使用的组件及注意事项如下: 1. PyPDF2 / PyPDF4 说明: PyPDF2 和 PyPDF4 都是功能强大的 PDF 操作库,适用于合并、拆分、旋转 PDF 文件,提取 PDF 元数据等。PyPDF4 是 PyPDF2 的一个分…

uniapp 设置安全区域

<!-- 获取安全区域 --> <script setup lang"ts"> import { computed, ref } from vuelet systemType ref(1) // #ifdef APP-PLUS || H5 || APP-PLUS-NVUE systemType.value 1 const { safeAreaInsets } uni.getSystemInfoSync() console.log(safeAre…

微软日志丢失事件敲响安全警钟

NEWS | 事件回顾 最近&#xff0c;全球最大的软件公司之一——微软&#xff0c;遭遇了一场罕见的日志丢失危机。据报告&#xff0c;从9月2日至9月19日&#xff0c;持续长达两周的时间里&#xff0c;微软的多项核心云服务&#xff0c;包括身份验证平台Microsoft Entra、安全信息…

DAY25|回溯算法Part04|LeetCode:491.递增子序列、46.全排列、47.全排列 II

目录 LeetCode:491.递增子序列 基本思路 C代码 LeetCode:46.全排列 基本思路 C代码 LeetCode:47.全排列 II 基本思路 C代码 LeetCode:491.递增子序列 力扣代码链接 文字讲解&#xff1a;LeetCode:491.递增子序列 视频讲解&#xff1a;回溯算法精讲&#xff0c;树层去重…