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

Kafka 主题管理

Kafka 主题管理

  • 创建主题
  • 查看主题
  • 修改主题
  • 内部主题
    • 异常
  • 主题删除失败

创建主题

创建 Kafka 主题

  • create : 创建主题
  • partitions : 主题的分区数
  • replication-factor : 每个分区下的副本数
bin/kafka-topics.sh \
--bootstrap-server broker_host:port \
--create --topic my_topic_name \
--partitions 1 --replication-factor 1

--bootstrap-server 的原因 :

  • --zookeeper 会绕过 Kafka 的安全体系。用 --zookeeper ,不受认证体系的约束 , 就能成功创建任意主题
  • --bootstrap-server 与集群进行交互,从 Kafka 2.2 后,社区推荐用 --bootstrap-server

查看主题

查询所有主题的列表

bin/kafka-topics.sh \
--bootstrap-server broker_host:port --list

查询单个主题的详细数据

bin/kafka-topics.sh \
--bootstrap-server broker_host:port \
--describe --topic <topic_name>
  • --zookeeper : 集群中所有的主题详细数据
  • --bootstrap-server : 受到安全认证体系的约束,回权限验证,返回能看到的主题

修改主题

增加分区 :

  • --alter : 增加某个主题的分区数
  • 指定分区数要 > 原有分区数,否则会抛出 InvalidPartitionsException 异常
bin/kafka-topics.sh \
--bootstrap-server broker_host:port \
--alter --topic <topic_name> \
--partitions < 新分区数 >

设置 max.message.bytes :

  • --bootstrap-server : 设置动态参数
  • --zookeeper : 设置常规的主题级别参数
bin/kafka-configs.sh \
--zookeeper zookeeper_host:port \
--entity-type topics --entity-name <topic_name> \
--alter --add-config max.message.bytes=10485760

设置副本同步机制的带宽 :

bin/kafka-configs.sh \
--zookeeper zookeeper_host:port \
--alter --add-config 'leader.replication.throttled.rate=104857600,follower.replication.throttled.rate=104857600' \
--entity-type brokers --entity-name 0

为所有副本设置限速 :

bin/kafka-configs.sh \
--zookeeper zookeeper_host:port \
--alter --add-config 'leader.replication.throttled.replicas=*,follower.replication.throttled.replicas=*' \
--entity-type topics --entity-name test

删除主题 :

  • 后台异步删除主题
bin/kafka-topics.sh \
--bootstrap-server broker_host:port \ 
--delete  --topic <topic_name>

内部主题

内部主题

  • __consumer_offsets : 消费位移
  • __transaction_state : 引入事务

修改副本数 :

  • 50 个分区对应的副本数
{"version":1, "partitions":[{"topic":"__consumer_offsets","partition":0,"replicas":[0,1,2]}, {"topic":"__consumer_offsets","partition":1,"replicas":[0,2,1]},{"topic":"__consumer_offsets","partition":2,"replicas":[1,0,2]},{"topic":"__consumer_offsets","partition":3,"replicas":[1,2,0]},...{"topic":"__consumer_offsets","partition":49,"replicas":[0,1,2]}
]}
bin/kafka-reassign-partitions.sh \
--zookeeper zookeeper_host:port \
--reassignment-json-file reassign.json --execute

查看消费者组提交的位移数据

bin/kafka-console-consumer.sh \
--bootstrap-server kafka_host:port \
--topic __consumer_offsets \
--formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter" \
--from-beginning

查看消费者组的状态

bin/kafka-console-consumer.sh 
--bootstrap-server kafka_host:port 
--topic __consumer_offsets 
--formatter "kafka.coordinator.group.GroupMetadataManager\$GroupMetadataMessageFormatter" 
--from-beginning

异常

__consumer_offsets 占用太多的磁盘,用 jstack 查看 kafka-log-cleaner-thread 的线程状态

  • 该线程挂了,无法及时清理此内部主题,重启相应的 Broker
  • 注意保留出错日志,可能 Bug 导致,在社区看下

主题删除失败

主题删除失败原因 :

  • 副本所在的 Broker 宕机 : 重启 Broker 后,删除会自动恢复
  • 待删除主题的部分分区依然在执行迁移过程

主题无法删除的万能方法:

  1. 手动删除 ZooKeeper 节点 /admin/delete_topics 下 , 待删除主题的 znode
  2. 手动删除该主题在磁盘上的分区目录
  3. 在 ZooKeeper 中执行 rmr /controller ,触发 Controller 重选举,刷新 Controller 缓存。 (注意 : 分区 Leader 重选举)

相关文章:

Kafka 主题管理

Kafka 主题管理创建主题查看主题修改主题内部主题异常主题删除失败创建主题 创建 Kafka 主题 create : 创建主题partitions : 主题的分区数replication-factor : 每个分区下的副本数 bin/kafka-topics.sh \ --bootstrap-server broker_host:port \ --create --topic my_topi…...

【深度学习】GPT系列模型:语言理解能力的革新

GPT-1&#x1f3e1; 自然语言理解包括一系列不同的任务&#xff0c;例如文本蕴涵、问答、语义相似度评估和文档分类。尽管大量的未标记文本语料库很充足&#xff0c;但用于学习这些特定任务的标记数据却很稀缺&#xff0c;使得判别式训练模型难以达到良好的表现。我们证明&…...

【Vue.js】全局状态管理模式插件vuex

文章目录全局状态管理模式Vuexvuex是什么&#xff1f;什么是“状态管理模式”&#xff1f;vuex的应用场景Vuex安装开始核心概念一、State1、单一状态树2、在 Vue 组件中获得 Vuex 状态3、mapState辅助函数二、Getter三、Mutation1、提交载荷&#xff08;Payload&#xff09;2、…...

JPA 之 Hibernate EntityManager 使用指南

Hibernate EntityManager 专题 参考&#xff1a; JPA – EntityManager常用API详解EntityManager基本概念 基本概念及获得 EntityManager 对象 基本概念 在使用持久化工具的时候&#xff0c;一般都有一个对象来操作数据库&#xff0c;在原生的Hibernate中叫做Session&…...

英语作文提示(持续更新)

星期&#xff08;介词on&#xff09;Monday星期一Tuesday星期二Wednesday星期三Thursday星期四Friday星期五Saturday星期六Sunday星期日月份&#xff08;介词in&#xff09;lunar calendar农历on the second day of the second lunar农历初二January1月February2月March3月Apri…...

【计算机组成原理】计算机的性能指标、数据的表示和运算、BCD码和余3码

计算机组成原理(二) 计算机的性能指标: 存储器的性能指标&#xff1a; 存储器中&#xff0c;MAR为存储单元的个数 MDR为机械字长也就是存储单元的长度 存储器的大小MAR*MDR n为二进制位能表示出几种不同的状态呢&#xff1f; 2的n次方种不同的状态 CPU的性能指标&#xf…...

三天吃透MySQL八股文(2023最新整理)

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点&#xff0c;欢迎star~ Github地址&#xff1a;https://github.com/…...

队列_23约瑟夫问题+_24猫狗收容所

约瑟夫问题 n 个小孩围坐成一圈&#xff0c;并按顺时针编号为1,2,…,n&#xff0c;从编号为 p 的小孩顺时针依次报数&#xff0c;由1报到m &#xff0c;当报到 m 时&#xff0c;该小孩从圈中出去&#xff0c;然后下一个再从1报数&#xff0c;当报到 m 时再出去。如此反复&#…...

gradle

Gradle环境介绍OpenJDK 17.0.5Gradle 7.6示例代码 fly-gradleGradle 项目下文件介绍如果你的电脑安装了 gradle&#xff0c;可以使用 gradle init 去初始化一个新的 gradle 工程&#xff0c;然后使用电脑安装的 gradle 去执行构建命令。但是每个开发电脑上的 gradle 版本不一样…...

[牛客]链表中倒数第k个结点

使用快慢指针法:两种思路:1.fast先向后走k-1次,slow再向后走1次,然后fast和slow同时向后走,当fast走到最后一个结点时,slow刚好在倒数第k个位置上;2.fast先向后走k次,slow再向后走1次,然后fast和slow同时向后走,当fast走到最后一个结点的后面时(此时为NULL),slow刚好在倒数第k个…...

English Learning - L2 语音作业打卡 双元音 [eɪ] [aɪ] Day14 2023.3.6 周一

English Learning - L2 语音作业打卡 双元音 [eɪ] [aɪ] Day14 2023.3.6 周一&#x1f48c;发音小贴士&#xff1a;&#x1f48c;当日目标音发音规则/技巧:&#x1f36d; Part 1【热身练习】&#x1f36d; Part2【练习内容】&#x1f36d;【练习感受】&#x1f353;元音 /eɪ/…...

C++ this 指针与静态成员

文章目录参考描述实例成员与静态成员实例成员静态成员静态成员属性隐式形参 this 指针冲突this 指针静态成员函数this 指针与静态成员函数参考 项目精通C &#xff08;第九版&#xff09;托尼加迪斯、朱迪沃尔特斯、戈德弗雷穆甘达 &#xff08;著&#xff09; / 黄刚 等 &…...

REDIS16_LRU算法概述、查看默认内存、默认是如何删除数据、缓存淘汰策略

文章目录①. LRU算法概述②. 查看默认内存③. 如何删除数据④. 缓存淘汰策略①. LRU算法概述 ①. LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的数据给予淘汰 (leetcode-cn.com/problems/lru-cache) ②. LRU算法题来源 ③.…...

ClassMix: Segmentation-Based Data Augmentation for Semi-Supervised Learning学习笔记

ClassMix相关介绍主要思想方法Mean-Teacher损失函数交叉熵损失标签污染实验实验反思参考资料相关介绍 从DAFormer溯源到这篇文章&#xff0c;ClassMix主要是集合了伪标签和一致性正则化&#xff0c;思想来源于CutMix那条研究路线&#xff0c;但是优化了CutMix中的标签污染的情…...

CSDN竞赛第35期题解

CSDN竞赛第35期题解 1、题目名称&#xff1a;交换后的or 给定两组长度为n的二进制串&#xff0c;请问有多少种方法在第一个串中交换两个不同位置上的数字&#xff0c;使得这两个二进制串“或”的 结果发生改变&#xff1f; int n;cin>>n; string a,b;cin>>a>…...

Java应用服务系统安全性,签名和验签浅析

1 前言 随着互联网的普及&#xff0c;分布式服务部署越来越流行&#xff0c;服务之间通信的安全性也是越来越值得关注。这里&#xff0c;笔者把应用与服务之间通信时&#xff0c;进行的的安全性相关&#xff0c;加签与验签&#xff0c;进行了一个简单的记录。 2 安全性痛点 …...

spring中bean的实例化

构造方法实现实例化 无参构造器实例化 我们之前用的就一直是无参构造器实现实例化&#xff0c;虽然没有在类中写构造器&#xff0c;但是每个类都会有一个默认的无参构造器 有参构造器实例化 相比于无参构造器&#xff0c;我们只需要传入参数就可以了 我们可以通过construc…...

磨皮插件portraiture2023最新中文版

Portraiture滤镜是一款 Photoshop&#xff0c;Lightroom 和 Aperture 插件&#xff0c;DobeLighttroom 的 Portraiture 消除了选择性掩蔽和逐像素处理的繁琐的手工劳动&#xff0c;以帮助您在肖像修整方面取得卓越的效果。它是一个强大的&#xff0c;但用户友好的插件照明.这是…...

记录每日LeetCode 2269.找到一个数组的K美丽值 Java实现

题目描述&#xff1a; 一个整数 num 的 k 美丽值定义为 num 中符合以下条件的 子字符串 数目&#xff1a; 子字符串长度为 k 。 子字符串能整除 num 。 给你整数 num 和 k &#xff0c;请你返回 num 的 k 美丽值。 注意&#xff1a; 允许有 前缀 0 。 0 不能整除任何…...

代码管理--svnadmin工具介绍

1、简介 SVNAdmin2 是一款通过图形界面管理服务端SVN的web程序。正常情况下配置SVN仓库的人员权限需要登录到服务器手动修改 authz 和 passwd 两个文件&#xff0c;当仓库结构和人员权限上了规模后&#xff0c;手动管理就变的非常容易出错&#xff0c;本系统能够识别人员和权限…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...