【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. 查看所有主题”后,脚本会执行
kafka - topics.sh --bootstrap - server bigdata01:9092 --list命令,列出当前 Kafka 集群中的所有主题。这有助于用户快速了解集群中的主题分布情况。
- 选择“1. 查看所有主题”后,脚本会执行
- 创建主题(2)
- 选择“2. 创建主题”时,用户需要依次输入主题名称、分区数(必须为整数)和副本数(整数且不超过可用 broker 数量)。例如:
- 输入主题名称,如“test_topic”。
- 输入分区数,假设为“3”。
- 输入副本数,假设为“2”。
- 脚本会执行
kafka - topics.sh --bootstrap - server bigdata01:9092 --create --partitions 3 --replication - factor 2 --topic test_topic命令来创建主题。
- 选择“2. 创建主题”时,用户需要依次输入主题名称、分区数(必须为整数)和副本数(整数且不超过可用 broker 数量)。例如:
- 查看某主题详细信息(3)
- 首先会列出当前可用主题列表,然后用户输入要查看详细信息的主题名称。脚本会执行
kafka - topics.sh --bootstrap - server bigdata01:9092 --describe --topic [主题名称]命令,展示主题的分区数、副本分布、领导者信息以及每个分区的 ISR(同步副本集合)等详细信息。
- 首先会列出当前可用主题列表,然后用户输入要查看详细信息的主题名称。脚本会执行
- 修改某主题分区数(4)
- 同样先列出主题列表,用户输入要修改分区数的主题名称,接着输入新的分区数(整数且大于当前分区数)。例如,将某个主题的分区数从 2 修改为 4。脚本会执行
kafka - topics.sh --bootstrap - server bigdata01:9092 --alter --topic [主题名称] --partitions 4命令来完成分区数的修改。
- 同样先列出主题列表,用户输入要修改分区数的主题名称,接着输入新的分区数(整数且大于当前分区数)。例如,将某个主题的分区数从 2 修改为 4。脚本会执行
- 删除主题(5)
- 先列出主题列表,用户输入要删除的主题名称,脚本执行
kafka - topics.sh --bootstrap - server bigdata01:9092 --delete --topic [主题名称]命令来删除指定主题。
- 先列出主题列表,用户输入要删除的主题名称,脚本执行
(三)生产者操作(producer)
- 发送消息到指定主题(1)
- 选择“1. 发送消息到指定主题”后,先列出可用主题列表,用户输入要发送消息的主题名称,如“test_topic”。然后就可以输入消息内容,输入“EXIT”可退出发送。脚本会使用
kafka - console - producer.sh --bootstrap - server bigdata01:9092 --topic test_topic命令将消息发送到指定主题。
- 选择“1. 发送消息到指定主题”后,先列出可用主题列表,用户输入要发送消息的主题名称,如“test_topic”。然后就可以输入消息内容,输入“EXIT”可退出发送。脚本会使用
(四)消费者操作(consumer)
- 消费指定主题的最新消息(1)
- 先列出主题列表,用户输入要消费消息的主题名称,如“test_topic”。脚本执行
kafka - console - consumer.sh --bootstrap - server bigdata01:9092 --topic test_topic命令,从主题的当前偏移量开始消费最新消息。
- 先列出主题列表,用户输入要消费消息的主题名称,如“test_topic”。脚本执行
- 从主题开头消费所有消息(2)
- 列出主题列表后,用户输入主题名称,脚本执行
kafka - console - consumer.sh --bootstrap - server bigdata01:9092 --from - beginning --topic [主题名称]命令,从主题的开头开始消费所有消息。
- 列出主题列表后,用户输入主题名称,脚本执行
(五)配置操作(configs)
- 查看主题配置(1)
- 列出主题列表后,用户输入要查看配置的主题名称,脚本执行
kafka - configs.sh --bootstrap - server bigdata01:9092 --describe --entity - type topics --entity - name [主题名称]命令,展示主题的各种配置参数,如消息保留策略、压缩类型等。
- 列出主题列表后,用户输入要查看配置的主题名称,脚本执行
- 修改主题配置(2)
- 先列出主题列表,用户输入要修改配置的主题名称,接着输入配置项名称(如
retention.ms、retention.bytes等)和配置项值。脚本执行kafka - configs.sh --bootstrap - server bigdata01:9092 --alter --entity - type topics --entity - name [主题名称] --add - config [配置项名称]=[配置项值]命令来修改主题配置。
- 先列出主题列表,用户输入要修改配置的主题名称,接着输入配置项名称(如
(六)消费者组操作(consumer groups)
- 查看消费者组列表(1)
- 选择“1. 查看消费者组列表”,脚本执行
kafka - consumer - groups.sh --bootstrap - server bigdata01:9092 --list命令,列出当前 Kafka 集群中的所有消费者组。
- 选择“1. 查看消费者组列表”,脚本执行
- 查看消费者组详情(2)
- 先列出消费者组列表,用户输入要查看详情的消费者组名称,脚本执行
kafka - consumer - groups.sh --bootstrap - server bigdata01:9092 --describe --group [消费者组名称]命令,展示消费者组的状态、成员信息以及每个成员的消费偏移量等详细信息。
- 先列出消费者组列表,用户输入要查看详情的消费者组名称,脚本执行
- 重置消费者组偏移量(3)
- 用户先输入要重置偏移量的消费者组名称和主题名称,脚本执行
kafka - consumer - groups.sh --bootstrap - server bigdata01:9092 --reset - offsets --group [消费者组名称] --topic [主题名称] --to - earliest命令,将消费者组的偏移量重置为最早位置,即从主题开头重新消费。
- 用户先输入要重置偏移量的消费者组名称和主题名称,脚本执行
(七)生产者性能测试(producer perf test)
- 执行生产者性能测试(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命令来测试生产者的性能,包括发送速率、吞吐量等指标。
- 列出主题列表后,用户输入要测试的主题名称,如“test_topic”。然后依次输入要发送的记录数量(整数)和每条记录的大小(整数,单位字节)。假设发送 1000 条记录,每条记录大小为 100 字节。脚本执行
- 查看可用主题列表(2)
- 选择“2. 查看可用主题列表”,脚本执行
kafka - topics.sh --bootstrap - server bigdata01:9092 --list命令,方便用户选择要测试的主题。
- 选择“2. 查看可用主题列表”,脚本执行
(八)消费者性能测试(consumer perf test)
- 执行消费者性能测试(1)
- 列出主题列表后,用户输入要测试的主题名称,如“test_topic”。脚本执行
kafka - consumer - perf - test.sh --broker - list bigdata01:9092 --topic test_topic --messages 100000命令,测试消费者从主题消费消息的性能,如消费速率等指标。
- 列出主题列表后,用户输入要测试的主题名称,如“test_topic”。脚本执行
- 查看可用主题列表(2)
- 选择“2. 查看可用主题列表”,脚本执行
kafka - topics.sh --bootstrap - server bigdata01:9092 --list命令,帮助用户确定测试主题。
- 选择“2. 查看可用主题列表”,脚本执行
(九)退出脚本(0)
选择“0. 退出”,脚本会结束运行。
三、注意事项
- 在创建主题时,要确保输入的分区数和副本数符合实际需求和集群资源情况。分区数过多可能导致管理复杂,副本数过高会占用较多存储资源。
- 修改主题分区数时,新分区数必须大于当前分区数,否则操作会失败。
- 在执行性能测试时,要根据实际情况合理设置测试参数,如记录数量和记录大小,避免对集群造成不必要的负载。
通过这个 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)…...
凌晨官宣离婚,他们为何让老粉直呼天塌?
你说的是影视飓风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…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...
云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...
