Kafka broker的新增和剔除(服役与退役)

说明:集群现有broker:node1,node2,node3三个,broker.id分别为0,1,2

已有两个topic:products、cities

1、退役(Kafka集群中减少一个服务器broker2)

       退役后要保证剩下的服务器数量大于等于备份数,否则会报错Error: Replication factor: 3 larger than available brokers: 2.;退役服务器中的数据在集群中剩下的服务器中实现负载均衡,在node3上进行操作。

操作步骤:

1.1创建json文件,写入需要均衡的主题

vim topic-move.json

{

        "topics": [

                {"topic": "products"},{"topic": "cities"}

        ],

        "version": 1

}

1.2 生成储存规划

       kafka-reassign-partitions.sh --bootstrap-server node1:9092,node2:9092 --topics-to-move-json-file topics-move.json --broker-list "0,1" --generate

去掉id为2的broker

执行后会给出退役broker2后数据在剩余服务器储存规划

创建json文件,把给出的规划复制粘贴进去

vim reassignment.json

{"version":1,"partitions":[{"topic":"cities","partition":0,"replicas":[1,0],"log_dirs":["any","any"]},{"topic":"cities","partition":1,"replicas":[0,1],"log_dirs":["any","any"]},{"topic":"cities","partition":2,"replicas":[1,0],"log_dirs":["any","any"]},{"topic":"products","partition":0,"replicas":[0,1],"log_dirs":["any","any"]},{"topic":"products","partition":1,"replicas":[1,0],"log_dirs":["any","any"]},{"topic":"products","partition":2,"replicas":[0,1],"log_dirs":["any","any"]}]}

1.3 执行储存规划

kafka-reassign-partitions.sh --bootstrap-server node1:9092,node2:9092 --reassignment-json-file reassignment.json --execute

可以看到提示执行成功;

1.4 验证执行结果

kafka-reassign-partitions.sh --bootstrap-server node1:9092,node2:9092 --reassignment-json-file reassignment.json –verify

查看topic详情

kafka-topics.sh --bootstrap-server node1:9092,node2:9092  --topic cities –describe

kafka-topics.sh --bootstrap-server node1:9092,node2:9092  --topic products --describe

对比broker2退役前

可以看到退役后relplics和isr都剔除了2这个id

2、服役(在Kafka集群中新增一个服务器)

Kafka集群历史数据负载均衡,新增服务器承担一部分历史数据的存储任务,上文我们退役了broker2,下面我们让其重新服役

操作步骤:

2.1创建json文件,写入需要均衡的主题

vim topic-move.json

{  "topics": [ {"topic": "products"},{"topic": "cities"} ],"version": 1}

2.2 生成储存规划

       kafka-reassign-partitions.sh --bootstrap-server node1:9092,node2:9092 --topics-to-move-json-file topics-move.json --broker-list "0,1,2" --generate 增加id为2的broker

执行后会对原集群内服务器的数据在增加了新一台服务器的基础上重新给出存储规划

创建json文件,把给出的规划复制粘贴进去

vim reassignment2.json

{"version":1,"partitions":[{"topic":"cities","partition":0,"replicas":[0,2],"log_dirs":["any","any"]},{"topic":"cities","partition":1,"replicas":[1,0],"log_dirs":["any","any"]},{"topic":"cities","partition":2,"replicas":[2,1],"log_dirs":["any","any"]},{"topic":"products","partition":0,"replicas":[0,1],"log_dirs":["any","any"]},{"topic":"products","partition":1,"replicas":[1,2],"log_dirs":["any","any"]},{"topic":"products","partition":2,"replicas":[2,0],"log_dirs":["any","any"]}]}

2.3 执行储存规划

kafka-reassign-partitions.sh --bootstrap-server node1:9092,node2:9092 --reassignment-json-file reassignment2.json --execute

可以看到提示执行成功;

2.4 验证执行结果

kafka-reassign-partitions.sh --bootstrap-server node1:9092,node2:9092 --reassignment-json-file reassignment2.json --verify

查看topic详情

kafka-topics.sh --bootstrap-server node1:9092,node2:9092  --topic cities –describe

kafka-topics.sh --bootstrap-server node1:9092,node2:9092  --topic products --describe

对比broker2服役前

可以看到退役后relplics和isr都增加了2这个id

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/667065.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot+layui实现Excel导入操作

excel导入步骤 第三方插件引入插件 效果图 (方法1)代码实现(方法1)Html代码( 公共)下载导入模板 js实现 (方法1)上传文件实现 效果图(方法2)代码实现&#xf…

智慧医院物联网建设-统一管理物联网终端及应用

近年来,国家卫健委相继出台的政策和评估标准体系中,都涵盖了强化物联网建设的内容。物联网建设已成为智慧医院建设的核心议题之一。 作为医院高质量发展的关键驱动力,物联网的顶层设计与网络架构设计规划,既需要结合现代信息技术的…

AI炒股-批量爬取网易财经的要闻板块

工作任务和目标&#xff1a;批量爬取网易财经的要闻板块 在class"tab_body current"的div标签中&#xff1b; 标题和链接在&#xff1a;<a href"https://www.163.com/dy/article/J2UIO5DD051188EA.html">华为急需找到“松弛感”</a> 第一步&…

linux磁盘满了,如何查找大文件清除?

将整个Linux中文件按照文件大小排序&#xff0c;从大到小排序 只显示前100条数据 命令&#xff1a; find / -type f -exec du -h {} | sort -rh | head -n 100结果&#xff1a;

Llama改进之——分组查询注意力

引言 今天介绍LLAMA2模型引入的关于注意力的改进——分组查询注意力(Grouped-query attention,GQA)1。 Transformer中的多头注意力在解码阶段来说是一个性能瓶颈。多查询注意力2通过共享单个key和value头&#xff0c;同时不减少query头来提升性能。多查询注意力可能导致质量下…

联芸科技偏高的关联交易:业绩波动性明显,海康威视曾拥有一票否决

《港湾商业观察》施子夫 5月31日&#xff0c;上交所上市审核委员会将召开2024年第14次审议会议&#xff0c;届时将审议联芸科技&#xff08;杭州&#xff09;股份有限公司招股书&#xff08;以下简称&#xff0c;联芸科技&#xff09;的首发上会事项。 据悉&#xff0c;此次系…

php反序列化学习(3)

1、session 当session_start()被调用或者php.ini中session.auto_start为1时&#xff0c;php内部调用会话管理器&#xff0c;访问用户session被序列化后&#xff0c;存储到指定目录&#xff08;默认为/tmp&#xff09;。 漏洞产生&#xff1a;写入格式与读取格式不一致 处理器…

C# 代码配置的艺术

文章目录 1、代码配置的定义及其在软件工程中的作用2、C# 代码配置的基本概念和工具3、代码配置的实践步骤4、实现代码配置使用属性&#xff08;Properties&#xff09;使用配置文件&#xff08;Config Files&#xff09;使用依赖注入&#xff08;Dependency Injection&#xf…

模拟建造游戏:城市:天际线Cities: Skylines for Mac/win中文原生版

《城市&#xff1a;天际线》&#xff08;Cities: Skylines&#xff09;是一款由Colossal Order开发&#xff0c;Paradox Interactive发行的城市建设模拟游戏。这款游戏于2015年首次发布&#xff0c;迅速赢得了玩家和评论家的好评&#xff0c;并成为了备受欢迎的城市建设游戏之一…

Centos7.9环境下keepalived结合nginx实现负载均衡的高可用(亲测版)

目录 一、负载均衡高可用解释 二、安装 三、Nginx检查脚本创建 四、修改keepalived配置文件 一、负载均衡高可用解释 nginx 作为负载均衡器&#xff0c;所有请求都到了nginx&#xff0c;如果nginx服务器宕机后端web服务将无法提供服务&#xff0c;影响严重。这样nginx作为负…

使用 Django Model 构建强大的数据库模型

文章目录 创建一个简单的 Django Model迁移数据库使用 Django Shell 操作模型Django Admin结论 在 Django 中&#xff0c;Model 是构建数据库模型的基础。它允许开发人员定义数据的结构&#xff0c;并提供了方便的方式来与数据库进行交互。本文将介绍如何使用 Django Model 来创…

Vitis HLS 学习笔记--控制驱动与数据驱动混合编程

目录 1. 简介 2. 示例分析 2.1 代码分析 2.2 控制驱动TLP的关键特征 2.3 数据驱动TLP的关键特征 3. 总结 1. 简介 在 HLS 硬件加速领域&#xff0c;Vitis HLS 提供了强大的抽象并行编程模型。这些模型包括控制驱动和数据驱动的任务级并行性&#xff08;TLP&#xff09;&…

腾讯元宝APP横空出世,传统搜索面临巨大挑战

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 松松有个同事也叫&#xff1a;X元宝。我们公司旁边有个小吃街&#xff0c;就叫元宝街。每提到腾讯元宝&#xff0c;我就想起了我同事和这条街。 我今天看了腾讯混元大模型团队的发布会&#xff0c;他们发布了一款名…

存储 Bean 对象更加简单的方式

前置操作 如果是在 spring-config 中添加 bean 标签来注册内容&#xff0c;每个类都要弄一次就显得麻烦和臃肿了&#xff0c;对于 new 操作而言就没有什么优势了。因此 spring 就引入了注解操作来实现对 Bean 对象的存储。 配置扫描路径 想要将对象成功的存储到 Spring 中&…

【Python】解决Python报错:AttributeError: ‘str‘ object has no attribute ‘xxx‘

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

【redis】宝塔,线上环境报Redis error: ERR unknown command del 错误

两种方式&#xff1a; 1.打开宝塔上的redis&#xff0c;通过配置文件修改权限&#xff0c;注释&#xff1a;#rename-command DEL “” 2.打开服务器&#xff0c;宝塔中默认redis安装位置是&#xff1a;cd /www/server/redis 找到redis.conf,拉到最后&#xff0c;注释#rename-co…

「vue同一个组件,不同路由切换时界面没有更新问题」

问题&#xff1a;vue项目中不同路由切换时&#xff0c;因为引用的同一个组件&#xff0c;界面数据没有更新 一、解决方法 添加key&#xff0c;具体原理可参考vue中的diff算法 <router-view :key"$route.fullPath"></router-view>

Linux学习笔记(清晰且清爽)

本文首次发布于个人博客 想要获得最佳的阅读体验&#xff08;无广告且清爽&#xff09;&#xff0c;请访问本篇笔记 Linux安装 关于安装这里就不过多介绍了&#xff0c;安装版本是CentOS 7&#xff0c;详情安装步骤见下述博客在VMware中安装CentOS7&#xff08;超详细的图文教…

【Mac版】Java生成二维码

软件版本 IntelliJ IDEA&#xff1a;2023.2 JDK&#xff1a;17 Tomcat&#xff1a;10.1.11 Maven&#xff1a;3.9.3 技术栈 servlet谷歌的&#xff1a;zxing 生成普通的黑白二维码在二维码中间添加一个小图标 github开源项目&#xff1a;qrcode qrcode开源项目的内部是基于z…

服务器数据恢复—EqualLogic存储硬盘灯亮黄色的数据恢复案例

服务器数据恢复环境&#xff1a; 一台某品牌EqualLogic PS 6011型号存储&#xff0c;底层有一组由16块SAS硬盘组建的RAID5阵列&#xff0c;上层存储空间划分了4个卷&#xff0c;格式化为VMFS文件系统&#xff0c;存放虚拟机文件。 服务器故障&#xff1a; 存储设备上两块硬盘指…