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

【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 应用开发中发挥更大的作用。

相关文章:

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

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

交换区(Swap Area或Swap Partition)

在操作系统中,交换区(Swap Area或Swap Partition)扮演着至关重要的角色,主要用于在物理内存(RAM)不足时提供额外的虚拟内存空间。以下是交换区的主要功能和作用: 一、内存扩展 当系统的物理内…...

Excel 无法打开文件

Excel 无法打开文件 ‘新建 Microsoft Excel 工作表.xlsx",因为 文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。...

MySQL —— Innodb 索引数据结构

文章目录 不用平衡二叉树或红黑树作为索引B树适合作为索引比B树更适合作为索引的结构——B树总结 MySQL 使用 B树索引数据结构(因为默认使用 innodb 存储引擎) B树:有序数组 平衡多叉树;B树:有序数组链表 平衡多叉树…...

探索C语言数据类型

目录 前言 一、基本数据类型 1.整型(Integer) 2.浮点型(Floating - point) 3.字符型(Character) 4.布尔型(Boolean) 二、派生数据类型 1.数组(Array&#xff09…...

凌晨官宣离婚,他们为何让老粉直呼天塌?

你说的是影视飓风MediaStorm的创始人Tim和小鱼吧,他们确实在11月5日凌晨官宣离婚了。以下是具体介绍:官宣离婚2024年11月5日凌晨,影视飓风MediaStorm的创始人Tim(潘天鸿)在社交媒体上发文,宣布与小鱼&#…...

Spring Boot 导出 Excel 文件

本文将详细介绍如何使用 Spring Boot 和 Apache POI 实现 Excel 文件的导出功能,帮助开发者快速上手。 1. 准备工作 首先,确保你的 Spring Boot 项目已成功创建并运行。接下来,需要在 pom.xml 文件中添加 Apache POI 相关依赖,以…...

HTTPSOK:SSL/TLS证书自动续期工具

HTTPSOK 是一个支持 SSL/TLS 证书自动续期 的工具,旨在简化 SSL 证书的管理,尤其是自动化处理证书续期的工作。对于大多数网站而言,SSL 证书的续期是一项必要但容易被忽视的工作,因为 SSL 证书的有效期通常为 90 天。使用 HTTPSOK…...

Uniapp安装Pinia并持久化(Vue3)

安装pinia 在uni-app的Vue3版本中,Pinia已被内置,无需额外安装即可直接使用(Vue2版本则内置了Vuex)。 HBuilder X项目:直接使用,无需安装。CLI项目:需手动安装,执行yarn add pinia…...

基于Dpabi和spm12的脑脊液(csf)分割和提取笔记

一、前言 脑脊液(csf)一直被认为与新陈代谢有重要关联,其为许多神经科学研究提供重要价值,从fMRI图像中提取脑脊液信号可用于多种神经系统疾病的诊断。特别是自2019年Science上那篇著名的csf-BOLD文章发表后,大家都试图…...

【每日一题】2012考研数据结构 - 求字符串链表公共后缀

本篇文章将为大家讲解一道关于链表的经典题目——求两个链表的共同后缀节点。该问题在实际开发中同样具有很大的应用价值,是每一位数据结构学习者不可错过的重要题目。 问题描述 假设我们有一个带头结点的单链表来保存单词,每个节点包含一个字符和指向…...

数据结构和算法-贪心算法01- 认识贪心

贪心算法 什么是贪心算法 一个贪心算法总是做出当前最好的选择,也就是说,它期望通过局部最优选择从而得到全局最优的解决方案。 ​ ----《算法导论》 贪心算法(Greedy Method): 所谓贪心算法就是重复地(或贪婪地)根据一个法则挑选解的一部分。当挑选完毕…...

Bash Shell - 获取日期、时间

1. 使用date获取日期 以下代码将date的执行结果存储在today变量中。date 是获取日期和时间的命令。 选择使用 quotes()或$ #!/bin/bashtodaydate echo $todaytoday$(date) echo $today 2. 使用 Format 输出所需日期和时间 date FORMAT 2.1 "MM-DD-YY" 形式输出…...

runnable和callable区别和底层原理

确实,Runnable 可以直接通过 Thread 类来运行,而 Callable 不能直接用于创建和运行线程。Callable 和 Runnable 都是 Java 中用于定义异步任务的接口,但它们的用法和目的有所不同。 ### Runnable 和 Thread Runnable 是接口,它不返…...

Springboot 整合 Java DL4J 打造自然语言处理之语音识别系统

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...

虚幻引擎5(UE5)学习教程

虚幻引擎5(UE5)学习教程 引言 虚幻引擎5(Unreal Engine 5,简称UE5)是Epic Games开发的一款强大的游戏引擎,广泛应用于游戏开发、影视制作、建筑可视化等多个领域。UE5引入了许多先进的技术,如…...

从0开始深度学习(26)——汇聚层/池化层

池化层通过减少特征图的尺寸来降低计算量和参数数量,同时增加模型的平移不变性和鲁棒性。汇聚层的主要优点之一是减轻卷积层对位置的过度敏感。 1 最大汇聚层、平均汇聚层 汇聚层和卷积核一样,是在输入图片上进行滑动计算,但是不同于卷积层的…...

兼职发薪系统:高效、便捷的劳务发薪解决方案

在快速发展的数字化时代,企业对于高效、便捷的薪酬发放和管理解决方案的需求日益增长。特别是对于兼职人员众多的企业,如何实现快速、准确的发薪,同时确保员工信息的安全与保密,成为了一个亟待解决的问题。今天,我们将…...

MySQL数据库单表查询习题

目录 数据内容介绍习题题目答案 数据内容介绍 数据库中有两个表 ​​​​ 内容如下: 习题 题目 查询出部门编号为D2019060011的所有员工所有财务总监的姓名、编号和部门编号。找出奖金高于工资的员工。找出奖金高于工资40%的员工。找出部门编号为D2019090011中所有…...

多模态PaliGemma——Google推出的基于SigLIP和Gemma的视觉语言模型

前言 本文怎么来的呢?其实很简单,源于上一篇文章《π0——用于通用机器人控制的流匹配VLA模型:一套框架控制7种机械臂(改造了PaliGemma和ACT的3B模型)》中的π0用到了PaliGemma 故本文便来解读下这个PaliGemma 第一部分 PaliGemma 1.1 Pal…...

电路原理:电阻桥。

电路的基础是电阻电路。电阻电路有两种基本接线方法(串连和并连,二者有不同的解算与用法:串连分压、并连分流)。电阻电路就是使用基本接线方法的组合方案,其解算方法主要内容是判断好整体布局以及各个局部的串并连关系…...

实践出真知:MVEL表达式中for循环的坑

目录标题 背景MVEL脚本(有问题的)MVEL脚本(正确的)结论分析 背景 需要从一个URL的拼接参数中解析出id的值并输出 比如: 存在URLhttps://xxxxxxxxxx?id999999&type123&name345 然后需要输出id999999 MVEL脚本(有问题的) 入参:parseThisUrlhttp…...

Flutter运行App时出现“Running Gradle task ‘assembleDebug“问题解决

在参考了众多解决办法中最有用并且最快的方法 Gradle Distributions 在这个地方下载对应你这个文件中的gradle版本 然后将 最后一行本来不是这样的,我们把下载好的zip包保存到本地,然后用这个代替网址,最后成功运行...

基于SSM(Spring + Spring MVC + MyBatis)框架的咖啡馆管理系统

基于SSM(Spring Spring MVC MyBatis)框架的咖啡馆管理系统是一个综合性的Web应用程序,用于管理和优化咖啡馆的运营。下面我将提供一个详细的案例程序概述,包括主要的功能模块和技术栈介绍。 项目概述 功能需求 用户管理&…...

【SpringBoot】18 上传文件到数据库(Thymeleaf + MySQL)

Git仓库 https://gitee.com/Lin_DH/system 介绍 使用 Thymeleaf 写的页面&#xff0c;将&#xff08;txt、jpg、png&#xff09;格式文件上传到 MySQL 数据库中。 依赖 pom.xml <!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j --><depende…...

计算机体系结构之系统吞吐量(三)

前面章节《计算机体系结构之多级缓存、缓存miss及缓存hit&#xff08;二&#xff09;》讲了关于系统多级缓存的相关内容&#xff0c;其中提及了系统吞吐量一词。在此章将对其进行讲解。 系统吞吐量是计算机体系结构的一个重要指标&#xff0c;其衡量的是系统在单位时间内处理工…...

高级 HarmonyOS主题课—— 帮助快速构建各种文本识别应用的课后习题

天地不仁&#xff0c;以万物为刍狗&#xff1b; 圣人不仁&#xff0c;以百姓为刍狗。 天地之间&#xff0c;其犹橐龠乎&#xff1f; 虚而不屈&#xff0c;动而俞出。 多闻数穷&#xff0c;不若守于中。 本文内容主要来自 <HarmonyOS主题课>帮助快速构建各种文本识别应用 …...

windows C#-异常和异常处理概述

C# 语言的异常处理功能有助于处理在程序运行期间发生的任何意外或异常情况。 异常处理功能使用 try、catch 和 finally 关键字来尝试执行可能失败的操作、在你确定合理的情况下处理故障&#xff0c;以及在事后清除资源。 公共语言运行时 (CLR)、.NET/第三方库或应用程序代码都可…...

每日一题——第一百二十四题

题目&#xff1a;进制转换 #pragma once#include<stdio.h> #include<ctype.h> #include<string.h>/// <summary> /// //将字符串表示的任意进制数转为十进制 /// </summary> /// <param name"str">字符串</param> /// &l…...

在 CentOS 7 上设置 OpenResty 开机启动

在 CentOS 7 上设置 OpenResty 开机启动&#xff0c;可以按照以下步骤进行操作&#xff1a; 创建 Systemd 服务文件&#xff1a; 首先&#xff0c;您需要为 OpenResty 创建一个 Systemd 服务文件。使用文本编辑器&#xff08;如 vi 或 nano&#xff09;创建一个新的服务文件。 …...