【kafka】基本命令
创建 Kafka Topic 的命令
以下是创建 Kafka Topic 的几种常用方法:
1. 使用 kafka-topics.sh 基础命令(Kafka 自带工具)
bin/kafka-topics.sh --create \--bootstrap-server <broker地址:端口> \--topic <topic名称> \--partitions <分区数> \--replication-factor <副本数>
bin/kafka-topics.sh --create \--bootstrap-server localhost:9092 \--topic my_new_topic \--partitions 3 \--replication-factor 2
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --topic test01_topic --partitions 2 --replication-factor 2
2. 带额外配置的创建命令
bin/kafka-topics.sh --create \--bootstrap-server localhost:9092 \--topic my_config_topic \--partitions 5 \--replication-factor 1 \--config retention.ms=172800000 \--config segment.bytes=1073741824
3. 使用 ZooKeeper 的旧版命令(Kafka 2.2 之前版本)
bin/kafka-topics.sh --create \--zookeeper localhost:2181 \--topic legacy_topic \--partitions 2 \--replication-factor 1
4. 使用 Kafka API (Java) 创建 Topic
Properties props = new Properties(); props.put("bootstrap.servers", "localhost:9092"); AdminClient admin = AdminClient.create(props);NewTopic newTopic = new NewTopic("my_api_topic", 3, (short) 1); newTopic.configs(Map.of("retention.ms", "86400000"));CreateTopicsResult result = admin.createTopics(Collections.singletonList(newTopic)); result.all().get(); // 等待创建完成
5. 验证 Topic 是否创建成功
bin/kafka-topics.sh --list --bootstrap-server localhost:9092 bin/kafka-topics.sh --describe --topic my_new_topic --bootstrap-server localhost:9092
常用配置参数
可以在创建时通过 --config
指定:
-
retention.ms
- 消息保留时间(毫秒) -
`segment.bytes
查看 Kafka 所有 Topic 的命令
以下是几种查看 Kafka 中所有 Topic 的常用方法:
1. 使用 kafka-topics.sh 基础命令(推荐)
bin/kafka-topics.sh --list --bootstrap-server <broker地址:端口> bin/kafka-topics.sh --list --bootstrap-server localhost:9092
2. 查看所有 Topic 的详细信息(包括分区、副本等)
bin/kafka-topics.sh --describe --bootstrap-server <broker地址:端口> bin/kafka-topics.sh --describe --bootstrap-server localhost:9092
3. 使用 ZooKeeper 的旧版命令(Kafka 2.2 之前版本)
bin/kafka-topics.sh --list --zookeeper <zookeeper地址:端口> bin/kafka-topics.sh --list --zookeeper localhost:2181
4. 使用 kafkacat 工具
kafkacat -L -b <broker地址:端口> kafkacat -L -b localhost:9092
5. 使用 Kafka API (Java)
Properties props = new Properties(); props.put("bootstrap.servers", "localhost:9092"); AdminClient admin = AdminClient.create(props);ListTopicsResult topics = admin.listTopics(); Set<String> topicNames = topics.names().get();topicNames.forEach(System.out::println);
6. 查看包含内部 Topic 的所有 Topic(如 __consumer_offsets)
bin/kafka-topics.sh --list --bootstrap-server localhost:9092 --exclude-internal
7. 使用正则表达式过滤 Topic
bin/kafka-topics.sh --list --bootstrap-server localhost:9092 | grep "your_pattern"
注意事项
-
新版本 Kafka(2.2+)推荐使用
--bootstrap-server
而不是--zookeeper
-
生产环境中可能需要添加认证参数,如:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092 --command-config admin.properties
-
对于大型集群,列出所有 Topic 可能需要一些时间
查看 Kafka Topic 分区信息的命令
以下是几种查看 Kafka Topic 分区信息的常用方法:
1. 使用 kafka-topics.sh 工具(Kafka 自带)
bin/kafka-topics.sh --describe --topic <topic名称> --bootstrap-server <broker地址:端口> bin/kafka-topics.sh --describe --topic my_topic --bootstrap-server localhost:9092
2. 查看所有 topic 的分区信息
bin/kafka-topics.sh --list --bootstrap-server <broker地址:端口> bin/kafka-topics.sh --describe --bootstrap-server <broker地址:端口>
bin/kafka-topics.sh --describe --topic my_topic --bootstrap-server localhost:9092
3. 使用 kafkacat 工具
kafkacat -L -b <broker地址:端口> -t <topic名称>
4. 使用 Kafka API (Java)
Properties props = new Properties(); props.put("bootstrap.servers", "localhost:9092"); AdminClient admin = AdminClient.create(props);DescribeTopicsResult result = admin.describeTopics(Collections.singletonList("my_topic")); TopicDescription description = result.all().get().get("my_topic");description.partitions().forEach(partition -> {System.out.println("Partition: " + partition.partition());System.out.println("Leader: " + partition.leader());System.out.println("Replicas: " + partition.replicas());System.out.println("ISR: " + partition.isr()); });
输出信息解释
Topic: my_topic PartitionCount: 3 ReplicationFactor: 2 Configs:Topic: my_topic Partition: 0 Leader: 1 Replicas: 1,2 Isr: 1,2Topic: my_topic Partition: 1 Leader: 2 Replicas: 2,0 Isr: 2,0Topic: my_topic Partition: 2 Leader: 0 Replicas: 0,1 Isr: 0,1
其中:
-
PartitionCount
: 分区总数 -
ReplicationFactor
: 副本因子数 -
Leader
: 负责该分区读写的主 broker -
Replicas
: 该分区的所有副本所在的 broker -
Isr
: 同步中的副本(In-Sync Replicas)
相关文章:
【kafka】基本命令
创建 Kafka Topic 的命令 以下是创建 Kafka Topic 的几种常用方法: 1. 使用 kafka-topics.sh 基础命令(Kafka 自带工具) bin/kafka-topics.sh --create \--bootstrap-server <broker地址:端口> \--topic <topic名称> \--parti…...
提权脚本Powerup命令备忘单
1. 获取与加载 从 GitHub 下载:(New-Object Net.WebClient).DownloadFile("https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Privesc/PowerUp.ps1", "C:\Temp\PowerUp.ps1")本地加载:Import-Module .\Power…...
人工智能 (AI) 在无线接入网络 (RAN) 中的变革性作用
随着电信行业向更智能、更高效的系统迈进,将 AI 集成到 RAN 中已不再是可有可无,而是至关重要。 随着 6G 时代的到来,人工智能 (AI) 有望降低运营成本,并带来更大的盈利机会。AI-RAN 正处于这一变革的前沿,在 RAN 环境…...

一个完整的项目示例:taro开发微信小程序
前一周完成了一个项目,体测成绩转换的工具,没做记录,。这次计划开发一个地图应用小程序,记录一下。方便给使用的人。 一、申请微信小程序,填写相应的信息,取得开发者ID。这个要给腾讯地图使用的。 二、申…...
什么是SMBus
一、SMBus的定义与背景 基本概念 SMBus(System Management Bus,系统管理总线) 是一种基于IC(Inter-Integrated Circuit)协议的轻量级两线制串行通信总线,由Intel于1995年提出,主要用于低带宽系统…...

龙虎榜——20250516
上证缩量收阴线,小盘股表现相对更好,上涨的个股大于下跌的,日线已到前期压力位附近,注意风险。 深证缩量收假阳线,临近日线周期上涨末端,注意风险。 2025年5月16日龙虎榜行业方向分析 跨境电商ÿ…...

Python----神经网络(《Inverted Residuals and Linear Bottlenecks》论文概括和MobileNetV2网络)
一、论文 MobileNetV2 论文提出了一种新的移动架构,该架构提高了移动模型在多个任务和基准测试中的性能,以及在各种不同模型大小范围内的性能. 该架构基于倒残差结构,其中 shortcut 连接在 thin bottleneck 层之间. 中间的 expansion 层使用轻…...

React Flow 简介:构建交互式流程图的最佳工具
本文为《React Agent:从零开始构建 AI 智能体》专栏系列文章。 专栏地址:https://blog.csdn.net/suiyingy/category_12933485.html。项目地址:https://gitee.com/fgai/react-agent(含完整代码示例与实战源)。完整介绍…...

Jupyter-AI Pandas-AI本地使用功能优化
引言 Jupyter-ai 和 Pandas-ai 的优化主要是个人工作遇到的需求,个人觉得是一个不错的体验优化,所以进行分享仅供参考,不喜勿喷,共同进步!Jupyter-AI优化主要包含以下方向(当前已实现): Jupyter-AI中 Chat 扩展和 NoteBook 的 Cell 工作去部分,使用的Language Model 和 …...
安全版4.5.8开启审计后,hac+读写分离主备切换异常
文章目录 环境BUG/漏洞编码症状触发条件解决方案 环境 系统平台:UOS (飞腾) 版本:4.5.8 BUG/漏洞编码 3043 症状 BUG安装包: hgdb-see-4.5.8-db43858.aarch64.rpm 异常:hac集群一主两备环境ÿ…...

WEB安全--Java安全--shiro550反序列化漏洞
一、前言 什么是shiro? shiro是一个Apache的Java安全框架 它的作用是什么? Apache Shiro 是一个强大且灵活的 Java 安全框架,用于处理身份验证、授权、密码管理以及会话管理等功能 二、shiro550反序列化原理 1、用户首次登录并勾选记住密码…...

【 Redis | 实战篇 秒杀实现 】
目录 前言: 1.全局ID生成器 2.秒杀优惠券 2.1.秒杀优惠券的基本实现 2.2.超卖问题 2.3.解决超卖问题的方案 2.4.基于乐观锁来解决超卖问题 3.秒杀一人一单 3.1.秒杀一人一单的基本实现 3.2.单机模式下的线程安全问题 3.3.集群模式下的线程安全问题 前言&…...

数据通信原理 光纤通信 期末速成
一、图表题 1. 双极性不归零、单极性不归零、曼彻斯特码、抑制载频2ASK,2PSK、2DPSK信号的波形 双极性不归零 和 单极性不归零:不归零意思是 0 低 1 高 非归零编码(NRZ):用不同电平表示二进制数字,常以…...

华为云kubernetes容器相关组件及作用
Kubernetes组件按功能分为控制平面组件、工作节点组件及扩展插件,协同实现容器化应用的编排与管理。 一、控制平面组件(Control Plane) 1、kube-apiserver 作用:提供集群API入口,处理所有REST请…...

安全与智能的双向奔赴,安恒信息先行一步
人类文明发展的长河中,每一次技术变革都重新书写了安全的定义。 从蒸汽机的轰鸣到电力的普及,从互联网的诞生到人工智能的崛起,技术创新与变革从未停止对于安全的挑战。今天,我们又站在一个关键的历史节点:AI大模型的…...
Node.js中的URL模块
一、URL 模块基础 1. 模块导入方式 模块导入方式还是根据代码规范使用require或者import来引入模块。 // Node.js 方式 const url require(url);// ES 模块方式 (Node.js 14 或启用 ESM) import * as url from url; 2. 核心功能 解析 URL 字符串 格式化 URL 对象 URL 处…...
2025 Java 微信小程序根据code获取openid,二次code获取手机号【工具类】拿来就用
一、controller调用 /*** 登录** author jiaketao* since 2024-04-10*/ RestController RequestMapping("/login") public class LoginController {/*** 【小程序】登录获取session_key和openid** param code 前端传code* return*/GetMapping("/getWXSessionKe…...

window 显示驱动开发-分页视频内存资源
与 Microsoft Windows 2000 显示驱动程序模型不同,Windows Vista 显示驱动程序模型允许创建比可用物理视频内存总量更多的视频内存资源,然后根据需要分页进出视频内存。 换句话说,并非所有视频内存资源都同时位于视频内存中。 GPU 的管道中可…...

【笔记】记一次PyCharm的问题反馈
#工作记录 最近更新至 PyCharm 社区版的最新版本后,我遇到了多个影响使用体验的问题。令人感到不便的是,一些在旧版本中非常便捷的功能,在新版本中却变得操作复杂、不够直观。过去,我一直通过 PyCharm 内置的故障报告与反馈机制反…...

uniapp中vue3和pinia安装依赖npm install失败
目录 一、问题描述 二、问题原因 三、问题解析及解决方案 一、问题描述 用uni-app开发小程序的时候,使用了vue3pinia,安装依赖的时候发现vue和pinia的版本问题,安装失败, npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve np…...
MySQL 8.0 OCP 1Z0-908 131-140题
Q131.You have upgraded the MySQL binaries from 5.7.28 to 8.0.18 by using an in-place upgrade. Examine the message sequence generated during the first start of MySQL 8.0.18: 。。。[System]。。。/usx/sbin/mysqld (mysqld 8.0.18-commercial) starting as process…...
Spring-messaging-Message接口/环境依赖
参考文档1:https://docs.spring.io/spring-integration/reference/index.html 参考文档2:https://www.jackssybin.cn/articles/2021/03/16/1615897840354.html#b3_solo_h4_44 环境配置 由于我使用的是spring boot,所以只有一个依赖…...
WPF自定义控件开发全指南:多内容切换与动画集成
WPF自定义控件开发全指南:多内容切换与动画集成 一、控件基础架构设计1.1 选择控件基类1.2 定义关键属性 二、动画系统集成2.1 淡入淡出动画实现2.2 滑动动画实现 三、视觉状态管理四、完整使用示例4.1 XAML声明4.2 动画触发逻辑 五、扩展与优化5.1 性能优化建议5.2…...
ECMAScript标准:JavaScript的核心
什么是ECMAScript? ECMAScript(简称ES)是一个由ECMA国际(欧洲计算机制造商协会)制定的脚本语言标准,它为JavaScript、JScript和ActionScript等脚本语言提供了基础规范。JavaScript 可以视为 ECMAScript 的…...
qtc++ qdebug日志生成
本文介绍了将qdebug注册到日志系统,这样qdebug打印的信息将记录在日志文本文件,方便观看程序运行中的历史信息,但是需要注意的是,注册后qdebug的信息将不会打印在qtcreator的输出中,所以作者建议,在开发的时…...
【分布式锁通关指南 10】源码剖析redisson之MultiLock的实现
引言 本期我们将把目光聚焦在 Redisson 中另一个颇具代表性的分布式锁实现——MultiLock。它的核心思想是:一次性对多个独立的 RLock 进行加锁或解锁操作,只有当多个锁都成功加锁时才算真正完成锁的获取,一旦有任何一个失败,整体操…...

DBF Converter:高效转换DBF文件,满足多样化数据处理需求
DBF Converter 是一款功能强大的数据转换工具,专为需要将DBF文件转换为其他格式的用户设计。它支持将DBF文件转换为CSV、Excel、HTML、SQL等多种常见格式,满足用户在不同场景下的数据处理需求。无论是数据迁移、报表生成还是日常数据处理,DBF…...
Java—— 方法引用 : :
方法引用是什么 把已经存在的方法拿过来用,当做函数式接口中抽象方法的方法体 方法引用符 :: 方法引用的条件 1.需要有函数式接口 2.被引用方法必须已经存在 3.被引用方法的形参和返回值需要跟抽象方法保持一致 4.被引用方法的功能要满足当前…...

Jmeter 安装包与界面汉化
Jmeter 安装包: 通过网盘分享的文件:CSDN-apache-jmeter-5.5 链接: https://pan.baidu.com/s/17gK98NxS19oKmkdRhGepBA?pwd1234 提取码: 1234 Jmeter界面汉化:...
6 任务路由与负载均衡
一、任务路由核心机制 1.1 静态路由配置 # celeryconfig.pytask_routes {# 精确匹配任务路径payment.process_order: {queue: priority_payment},# 通配符匹配任务类型report.*: {queue: low_priority_reports},# 正则表达式匹配re.compile(r^video\.(encode|compress)): {q…...