kafka增加磁盘或者分区,topic重分区
场景:kafka配置文件log.dirs增加了几个目录,但是新目录没有分区数据写入,所以打算进行重分区一下。
1.生成迁移计划
进入kafka/bin目录
新建 topic-reassign.json,把要重分区的topic按下面格式写。
{
"topics": [{
"topic": "VOLTE_GM"
},{
"topic": "VOLTE_GM_MEDIA"
},{
"topic": "VOLTE_MW"
},{
"topic": "VOLTE_RX"
},{
"topic": "VOLTE_SH"
},{
"topic": "VOLTE_SV"
}],
"version": 1
}
执行命令
./kafka-reassign-partitions.sh --zookeeper kafka001:2181/kafka --generate --topics-to-move-json-file topic-reassign.json --broker-list 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39
broker-list 是kafka配置文件中的 broker.id
输出:
Current partition replica assignment:当前分区策略,建议保存,回退的时候会用到。
Proposed partition reassignment configuration:建议分区策略
Current partition replica assignment
{"version":1,"partitions":[{"topic":"VOLTE_GM","partition":1,"replicas":[35,18],"log_dirs":["any","any"]},{"topic":"VOLTE_GM_MEDIA","partition":2,"replicas":[0,19],"log_dirs":["any","any"]},{"topic":"VOLTE_RX","partition":0,"replicas":[33,2],"log_dirs":["any","any"]},{"topic":"VOLTE_SV","partition":1,"replicas":[10,2],"log_dirs":["any","any"]},{"topic":"VOLTE_SH","partition":0,"replicas":[14,13],"log_dirs":["any","any"]},{"topic":"VOLTE_GM","partition":2,"replicas":[36,19],"log_dirs":["any","any"]},{"topic":"VOLTE_SV","partition":2,"replicas":[11,3],"log_dirs":["any","any"]},{"topic":"VOLTE_GM_MEDIA","partition":1,"replicas":[39,18],"log_dirs":["any","any"]},{"topic":"VOLTE_SH","partition":2,"replicas":[16,15],"log_dirs":["any","any"]},{"topic":"VOLTE_SH","partition":1,"replicas":[15,14],"log_dirs":["any","any"]},{"topic":"VOLTE_MW","partition":1,"replicas":[38,23],"log_dirs":["any","any"]},{"topic":"VOLTE_MW","partition":2,"replicas":[39,24],"log_dirs":["any","any"]},{"topic":"VOLTE_GM_MEDIA","partition":0,"replicas":[38,17],"log_dirs":["any","any"]},{"topic":"VOLTE_RX","partition":2,"replicas":[35,4],"log_dirs":["any","any"]},{"topic":"VOLTE_MW","partition":0,"replicas":[37,22],"log_dirs":["any","any"]},{"topic":"VOLTE_GM","partition":0,"replicas":[34,17],"log_dirs":["any","any"]},{"topic":"VOLTE_RX","partition":1,"replicas":[34,3],"log_dirs":["any","any"]},{"topic":"VOLTE_SV","partition":0,"replicas":[9,1],"log_dirs":["any","any"]}]}Proposed partition reassignment configuration
{"version":1,"partitions":[{"topic":"VOLTE_RX","partition":0,"replicas":[28,21],"log_dirs":["any","any"]},{"topic":"VOLTE_SH","partition":0,"replicas":[1,25],"log_dirs":["any","any"]},{"topic":"VOLTE_GM_MEDIA","partition":0,"replicas":[36,19],"log_dirs":["any","any"]},{"topic":"VOLTE_SH","partition":2,"replicas":[3,27],"log_dirs":["any","any"]},{"topic":"VOLTE_MW","partition":0,"replicas":[15,13],"log_dirs":["any","any"]},{"topic":"VOLTE_RX","partition":2,"replicas":[30,23],"log_dirs":["any","any"]},{"topic":"VOLTE_GM","partition":1,"replicas":[12,32],"log_dirs":["any","any"]},{"topic":"VOLTE_SV","partition":0,"replicas":[35,25],"log_dirs":["any","any"]},{"topic":"VOLTE_MW","partition":2,"replicas":[17,15],"log_dirs":["any","any"]},{"topic":"VOLTE_GM_MEDIA","partition":2,"replicas":[38,21],"log_dirs":["any","any"]},{"topic":"VOLTE_SV","partition":2,"replicas":[37,27],"log_dirs":["any","any"]},{"topic":"VOLTE_SH","partition":1,"replicas":[2,26],"log_dirs":["any","any"]},{"topic":"VOLTE_RX","partition":1,"replicas":[29,22],"log_dirs":["any","any"]},{"topic":"VOLTE_GM","partition":0,"replicas":[11,31],"log_dirs":["any","any"]},{"topic":"VOLTE_MW","partition":1,"replicas":[16,14],"log_dirs":["any","any"]},{"topic":"VOLTE_GM_MEDIA","partition":1,"replicas":[37,20],"log_dirs":["any","any"]},{"topic":"VOLTE_SV","partition":1,"replicas":[36,26],"log_dirs":["any","any"]},{"topic":"VOLTE_GM","partition":2,"replicas":[13,33],"log_dirs":["any","any"]}]}
将标红的json保存到topic-todo.json
2.执行迁移命令
./kafka-reassign-partitions.sh --zookeeper kafka001:2181/kafka --reassignment-json-file topic-todo.json --execute --throttle 1048576000
throttle带宽,单位是B,上面表示100M/s带宽。
3.验证迁移结果
./kafka-reassign-partitions.sh --zookeeper kafka001:2181/kafka --reassignment-json-file topic-todo.json --verify
分区多,数据量大的话,用时多一些,半个小时一个小时也是可能的。
相关文章:

kafka增加磁盘或者分区,topic重分区
场景:kafka配置文件log.dirs增加了几个目录,但是新目录没有分区数据写入,所以打算进行重分区一下。 1.生成迁移计划 进入kafka/bin目录 新建 topic-reassign.json,把要重分区的topic按下面格式写。 { "topics": [{ …...

SpringMVC系列(五)之JSR303和拦截器
目录 一. JSR303 1.1 JSR303是什么 1.2 为什么要使用JSR303 1.3 JSR303常用注解 1.4 JSR303快速入门 1. 导入相关pom依赖 2. 配置校验规则 3. 入门示例 二. SpringMVC的拦截器 2.1 什么是拦截器 2.2 拦截器与过滤器的区别 2.3 拦截器工作原理 2.4 入门示例 1. 创建…...
LCP 01.猜数字
题目来源: leetcode题目,网址:LCP 01. 猜数字 - 力扣(LeetCode) 解题思路: 遍历比较即可。 解题代码: class Solution {public int game(int[] guess, int[] answer) {int res0;for(int …...
智能小车开发
1.材料 店铺:店内搜索页-risym旗舰店-天猫Tmall.com 1.四个小车轮子 2.四个直流减速电机 3.两节18650锂电池(每节3.7V),大概电压在7.4V左右,电压最好不要超过12V不然会损坏电机驱动 4.一个18650锂电池盒 5.一个L…...
RDMA性能测试工具集preftest_README
文章目录 1 概述2 安装3 测试方法说明4 测试说明5 运行测试所有测试的通用选项延迟测试选项带宽测试选项ib_send_lat(发送延迟测试)和 ib_send_bw(发送带宽测试)的选项ib_atomic_lat(原子延迟测试)和 ib_at…...

墨天轮专访星环科技刘熙:“向量热”背后的冷思考,Hippo如何打造“先发”优势?
导读: 深耕技术研发数十载,坚持自主可控发展路。星环科技一路砥砺前行、坚持创新为先,建设了全面的产品矩阵,并于2022年作为首个独立基础软件产品公司成功上市。星环科技在今年的向星力•未来技术大会上发布了分布式向量数据库Tra…...
逆向-beginners之非递归
/* * 非递归 */ void f() { } void main() { f(); } #if 0 /* * intel */ 0000000000001129 <f>: 1129: f3 0f 1e fa endbr64 112d: 55 push %rbp 112e: 48 89 e5 mov %rsp,%…...
Spring for Apache Kafka概述和简单入门
一、概述 Spring for Apache Kafka 的高级概述以及底层概念和可运行的示例代码。 二、准备工作 注意:进行工作开始之前至少要有一个 Apache Kafka 环境 2.1、依赖 使用 Spring Boot<dependency><groupId>org.springframework.kafka</groupId><artifact…...

基于SSM+Vue的医院医患管理系统
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

再次理解Android账号管理体系
目录 ✅ 0. 需求 📂 1. 前言 🔱 2. 使用 2.1 账户体系前提 2.2 创建账户服务 2.3 操作账户-增删改查 💠 3. 源码流程 ✅ 0. 需求 试想,自己去实现一个账号管理体系,该如何做呢? ——————————…...

如何在Blender中压缩/减小GLTF模型的大小
GLTF 如何在Blender中压缩/减小GLTF模型的大小 Blender是一款功能强大的开源软件,旨在创建3D图形,动画和视觉效果。它支持多种文件格式的导入和导出,包括GLB,GLTF,DAE,OBJ,ABC,USD…...
IntelliJ IDEA使用_Plugin插件推荐
官网插件库:https://plugins.jetbrains.com/search 代码规范检测:Alibaba Java Coding Guidelines码云:Giteemybatis插件:MyBatisX多颜色括号:Rainbow Brackets操作快捷键提示:Key Promoter X力扣ÿ…...
Ajax fetch navigator.sendBeacon 三个的区别
Ajax、fetch 和 navigator.sendBeacon 是用于发送网络请求的不同方法。 Ajax: Ajax 是一种传统的用于发送异步请求的技术。它使用 XMLHttpRequest 对象来发送数据和接收响应。通过创建 XMLHttpRequest 对象,你可以通过调用其 open() 方法指定请求的类型和 URL&#…...
map-reduce执行过程
Map阶段 Map 阶段是 MapReduce 框架中的一个重要阶段,它负责将输入数据转换为中间数据。Map 阶段由一个或多个 Map 任务组成,每个 Map 任务负责处理输入数据的一个子集。 执行步骤 Map 阶段的过程可以分为以下几个大步骤: 输入数据分配&a…...
技术人员怎样提升对业务的理解
技术服务于业务。 一个技术人员想要走得更远,不能仅局限于技术,需要对自己所从事的业务领域有不断深入和全面的理解。 所谓业务领域,就是大家平常自我介绍,不会仅简单说我是搞C的,我是搞JAVA的,而是游戏后台…...

【分布式】分布式事务:2PC
分布式事务的问题可以分为两部分: 并发控制 concurrency control原子提交 atomic commit 分布式事务问题的产生场景:一份数据被分片存在多台服务器上,那么每次事务处理都涉及到了多台机器。 可序列化(并发控制)&…...

回归与聚类算法系列④:岭回归
目录 1. 背景 2. 数学模型 3. 特点 4. 应用领域 5. 岭回归与其他正则化方法的比较 6、API 7、代码 8、总结 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数…...

idea配置git(gitee)并提交(commit)推送(push)
Intellij Idea VCS | 版本控制 - 知乎 IDEA项目上传到gitee仓库_idea上传代码到gitee_robin19712的博客-CSDN博客 git程序下载国内镜像地址: https://registry.npmmirror.com/binary.html?pathgit-for-windows/v2.42.0.windows.2/ 解压后放到固定路径:…...

(19)Task异步:任务创建,返回值,异常捕捉,任务取消,临时变量
一、Task任务的创建 1、用四种方式创建,界面button,info各一。 程序代码 private void BtnStart_Click(object sender, EventArgs e){Task t new Task(() >{DisplayMsg($"[{Environment.CurrentManagedThreadId}]new Task.---1");});t.Start()…...

设备树的理解与运用
设备树: 本质是一个文件,包含很多节点,每个节点里边是对设备属性的描述(包括GPIO,时钟,中断等等),其中节点(node)和属性(property)就是设备树最重…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...