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

kafka 换盘重平衡副本 操作流程

一、起因

kakfa某块数据盘损坏,且数据无法恢复,需清空换新盘

二、梳理操作流程

查看topic信息

sh ./kafka-topics --bootstrap-server ***:9092 --list --exclude-internal 

查看某个topic数据分布情况

sh ./kafka-topics --bootstrap-server ***:9092 --describe --topic sr-event --exclude-intern

发现有部分topic只有1副本

进行副本重平衡

1、进入 cdh bin 目录:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/bin
2、上传increase-replication-factor.json文件到该目录
3、执行 sh ./kafka-reassign-partitions --zookeeper  ***:2181  --reassignment-json-file increase-replication-factor.json --execute
4、json文件内容如下:
{"version":1,
"partitions":[
{"topic":"ADV_TRACKINGIO","partition":0,"replicas":[557,558,559]},
{"topic":"ADV_TRACKINGIO","partition":1,"replicas":[557,558,559]},
{"topic":"ADV_TRACKINGIO","partition":2,"replicas":[557,558,559]},
{"topic":"User","partition":0,"replicas":[557,558,559]},
{"topic":"User","partition":1,"replicas":[557,558,559]},
{"topic":"User","partition":2,"replicas":[557,558,559]},
{"topic":"ADV","partition":0,"replicas":[557,558,559]},
{"topic":"ADV","partition":1,"replicas":[557,558,559]},
{"topic":"ADV","partition":2,"replicas":[557,558,559]},
]
}

发现由于那台硬盘损坏,无法重平衡

查看平衡状态信息,果然没同步成功

./kafka-reassign-partitions --zookeeper ***:2181 --reassignment-json-file /backup/increase-replication-factor.json --verify

这时硬盘彻底坏了,只能下线这台broker。cdh直接操作下线,此时会有异常信息,副本数滞后。数据还是能正常读写。

硬盘换好后,cdh上重新启动broker,异常信息逐渐消除,直至完全正常。

三、总结

如果不是恰好碰到硬盘坏在了那个单副本上,正常都是3副本的情况,可以直接下架该broker,修复后重新加入,中间就不会出现副本异常。

最坏的情况遇到了单副本分区数据就在这台坏掉的盘里,只能消费完历史数据,换盘后丢弃该部分数据。

http://www.lryc.cn/news/450415.html

相关文章:

  • vue3.0 + element plus 全局自定义指令:select滚动分页
  • HarmonyOS/OpenHarmony 离线加载web资源,并实现web资源更新
  • 【Spark 实战】基于spark3.4.2+iceberg1.6.1搭建本地调试环境
  • TCP连接建立中不携带数据的报文段为何不消耗序号解析
  • JS设计模式之状态模式:优雅地管理应用中产生的不同状态
  • C语言系列4——指针与数组(1)
  • JS网页设计案例
  • 4.2.1 通过DTS传递物理中断号给Linux
  • 常用性能优化方法
  • 上海我店:创新模式引领本地生活新风尚
  • 【微服务】前端微服务qiankun 2.x主子应用通信代码片段
  • 高级java每日一道面试题-2024年9月30日-算法篇-LRU是什么?如何实现?
  • CSS选择器的全面解析与实战应用
  • vue3自动暴露element-plus组件的ref
  • 龙芯+FreeRTOS+LVGL实战笔记(新)——10蜂鸣器嘀嘀嘀
  • 微信小程序-数据模型与动态赋值
  • 【Redis】Linux下安装配置及通过C++访问Redis
  • Python 入门教程(4)数据类型 | 4.7、元组
  • Temu正在吸引越来越多的亚马逊卖家,这个市场Temu蝉联下载榜首
  • 设计原则模式概览
  • 高级主题:接口性能测试与压力测试
  • python绘制图像
  • 如何修复变砖的手机并恢复丢失的数据
  • 服务器使用了代理ip,遇到流量攻击,会对服务器有影响吗
  • 从存储到人工智能洞察: 利用 MinIO 和 Polars 简化数据管道
  • 只需要 1 分钟语音数据实现声音克隆
  • OpenEuler虚拟机安装保姆级教程 | 附可视化界面
  • 表格控件QTableWidget
  • LeetCode236题:二叉树的最近公共祖先
  • 虚谷中使用PL/SQL改变模式下所有表的大小写