【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.xdnf.cn/news/8962.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Golang | Leetcode Golang题解之第552题学生出勤记录II

题目: 题解: const mod int 1e9 7type matrix [6][6]intfunc (a matrix) mul(b matrix) matrix {c : matrix{}for i, row : range a {for j : range b[0] {for k, v : range row {c[i][j] (c[i][j] v*b[k][j]) % mod}}}return c }func (a matrix) p…

放电电阻是什么

放电电阻,顾名思义,就是用于放电的电阻。在电路中,当电流突然增大时,如果没有适当的电阻来限制电流,就可能导致电路损坏。因此,放电电阻的作用就是在电路中起到限制电流的作用,防止电路因电流过…

CelebV-Text——从文本生成人脸视频的数据集

概述 近年来,生成模型在根据文本生成和编辑视频方面受到了广泛关注。然而,由于缺乏合适的数据集,生成人脸视频领域仍然是一个挑战。特别是,生成的视频帧质量较低,与输入文本的相关性较弱。在本文中,我们通…

【51单片机数码管的控制开机时前四位数码管显示0000,每按下一次按键后松开数字加121,当数字大于等于8888时清零。】2022-3-18

缘由51单片机数码管的控制-嵌入式-CSDN问答 #include "REG52.h" sbit K1 P3^1; unsigned char code SmZiFu[]{63,6,91,79,102,109,125,7,127,111,128,119,124,57,94,121,113};//0-9. void smxs(unsigned char mz, unsigned char w) {unsigned char Xd0;P2255;P2255…

境内部署DIfy(中篇)

背景: 接 本文上篇中已经讲述了比较友好的一种境内安装Dify 的方式,这种方式可以拉取到最新的镜像源,最新的版本,最为推荐的方案。但由于各种原因或多或少会出现上述方式不成功的可能(镜像源又被屏蔽)&…

【人工智能】利用大语言模型(LLM)实现机器学习模型选择与实验的自动化

文章目录 引言环境准备数据集说明 项目结构主要文件说明 导入必要的软件包软件包功能简述 辅助函数定义加载配置文件加载数据集预处理数据集函数功能详解 集成LLM进行模型选择调用LLM的函数定义函数功能详解 清理和验证LLM的输出清理超参数建议提取模型名称验证超参数修正超参数…

我与Linux的爱恋:基础IO 软硬连接+动静态库

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:Linux的学习 文章目录 一、软硬链接使用对应的特征 内容 以及作用二、动态库静态库的制作打包与使用生成静态库库搜索路径动态库的打包以及使用生成动态库一、软硬链接 使用 软连接 硬链接​ ​ 通过观察我们可以发现: 1.l…

CCF ChinaOSC |「开源科学计算与系统建模openSCS专题分论坛」11月9日与您相约深圳

2024年11月9日至10日,以“湾区聚力 开源启智”为主题的2024年中国计算机学会中国开源大会(CCF ChinaOSC)将在深圳召开。大会将汇聚国内外学术界、顶尖科技企业、科研机构及开源社区的精英力量,共同探索人工智能技术和人类智慧的无…

stm8开发笔记--STVD开发软件的安装

文章目录 1 开发软件安装1.1 安装软件1.2 编译器下载安装1.2.1 下载编译器1.2.2 安装1.2.3 添加密钥 1.3 编译器地址配置 2 编程开发2.1 下载软件开发包2.2 解压,打开工程2.3 选择对应芯片2.4 点击重新编译,不要有错误2.5 如果提示你,需要加载…

RNN天气预测

本文为为🔗365天深度学习训练营内部文章 原作者:K同学啊 与上篇一样,依然是二维数据结构。这里通过构建基础的网络块来做天气类别的预测,网络如下: 预测是否下雨# 1.搭建神经网络 model Sequential() # 添加第一密集…

Elasticsearch如果集群出现节点故障,我应该如何快速定位问题?

当 Elasticsearch (ES) 集群发生故障时,快速定位问题源头非常重要。Elasticsearch 是一个分布式系统,故障可能由多种原因引起,涉及到硬件、配置、网络、集群本身的健康状况等多个层面。以下是一些定位问题的步骤和工具: 检查集群…

科研绘图系列:R语言热图和点图(heatmap dotplot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包准备画图主题数据链接导入数据热图1热图2其他图1其他图2系统信息介绍 热图(Heatmap)是一种数据可视化技术,用于通过颜色的变化来展示数据矩阵中的数值大小。它通常由行和…

【Leecode】Leecode刷题之路第44天之通配符匹配

题目出处 44-通配符匹配-题目出处 题目描述 个人解法 思路: todo代码示例:(Java) todo复杂度分析 todo官方解法 44-通配符匹配-官方解法 前言 本题与10. 正则表达式匹配非常类似,但相比较而言,本题稍…

智象未来(HiDream.ai):从科技创新启程,绘制智能未来新篇章

在人工智能领域飞速演进的当下,智象未来(HiDream.ai)作为全球领先的多模态生成式人工智能技术供应商,正以其独树一帜的视觉多模态大模型及创新应用,推动行业趋势的前进。智象未来(HiDream.ai)自…

用 Python搭建一个微型的HTTP服务器用于传输 2024/11/9

使用内置的 http.server 模块,来搭建微型服务器。 快速启动服务器http.server --- HTTP 服务器Python 3.13.0 文档 声明:文章代码部分 由 ai 生成 创建一个简单的文件共享服务器 进入 需要共享的目录 再打开cmd 输入以下代码 python -m http.server 8000 打开服务器 设置主…

【分布式事务】二、NET8分布式事务实践: DotNetCore.CAP 框架 、 消息队列(RabbitMQ)、 数据库(MySql、MongoDB)

介绍 [CAP]是一个用来解决微服务或者分布式系统中分布式事务问题的一个开源项目解决方案, 同样可以用来作为 EventBus 使用 github地址:https://github.com/dotnetcore/CAP官网地址: https://cap.dotnetcore.xyz/官网文档:https://cap.dotnetcore.xyz/userguide/zh/cap/id…

【Syncfusion系列】Diagram 杂谈第一篇

前言 我认为 Diagram 是 Syncfusion 中首屈一指的优秀控件!最近在写一个工作流引擎,前端界面就用的是Diagram ,接下来就来看一看。 Diagram的事件 查看 SfDiagram的属性,如果想实现什么事件,就看这些Command结尾的…

【服务器】使用命令行文本编辑器(如 vim、nano 或 vi)创建文件并编辑

【服务器】使用命令行文本编辑器(如 vim、nano 或 vi)创建文件并编辑 准备:连接至服务器(如ssh)创建 .ncl 文件方法 1: 使用 vim 创建 .ncl 文件方法 2: 使用 nano 创建 .ncl 文件确认文件已创建运行 .ncl 文件 总结参…

[DB] Project-1-MySQL

下载并安装了MySQL-8.0.40 root; 密码为6位 MySQL安装教程(详细版)_mysql安装教程8.0.36-CSDN博客 解决:管理员身份运行cmd出现mysql : 无法将“mysql”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,…

【JavaEE进阶】导读

本节⽬标 了解什么是JavaEE 在JavaEE中, 我们学习什么, 如何学, 难点是什么 一、Java EE 发展历程 Java EE(Java Platform Enterprise Edition), Java 平台企业版. 是JavaSE的扩展, ⽤于解决企业级的开发需求, 所以也可以称之为是⼀组⽤于企业开发的Java技术标准. 所以, 学习…